Matlab 병렬 컴퓨팅 도구 상자 또는 Matlab 분산 서버 컴퓨팅을 사용하여 다음 단계 (가변적 인 단계 크기 구현)를 구현하려고하는 다음 의사 코드 (루프)가 있습니다. 사실, 나는이 루프 matlab에 코드를 가지고 일반 MATLAB 2013a에서 작동합니다.Parallel Computing Toolbox 또는 Matlab Distributed Computing 서버를 사용해야합니까?
을 감안할 때 : U0, t_0, T (초기 및 종료 시간 값), 초기 단계의 크기 :
while t_0 < T
% the fist step is to compute U1, U2 which depend on t_0 and some known parameters
U1(t_0, h0, u0, parameters)
U2(t_0, h0, u0, parameters)
% so U1 and U2 are independent, which can be computed in parallel using Matlab
% the next step is to compute U3, U4, U5, U6 which depends on t_0, U1, U2, and known parameters
U3(t_0, h0, u0, U1, U2, parameters)
U4(t_0, h0, u0, U1, U2, parameters)
U5(t_0, h0, u0, U1, U2, parameters)
U6(t_0, h0, u0, U1, U2, parameters)
% so U3, U4, U5, U6 are independent, which can be also computed in parallel using Matlab
%finally, compute U7 and U8 which depend on U1,U2,..,U6
U7(t0, u0,h0, U1,U2,U3,U4,U5,U6)
U8(t0, u0,h0,U1,U2,U3,U4,U5,U6)
% so U7 and U8 are also independent, and we can compute them in parallel as well.
퍼센트 여기 스텝 크기 제어를 수행 H0은, 다음 지정 H0 = h_new
T0 = T0 + h_new
end
당신이 나에게 matlab에 평행을 사용하여 위 코드를 구현하는 가장 좋은 방법을 제안시겠습니까? 가장 좋은 방법은 가능한 한 빨리 전체 계산 속도를 높이고 싶다는 것입니다. (저는 192 개의 컴퓨터 노드를 가진 슈퍼 컴퓨터 LEO III에 액세스 할 수 있습니다 (총 1944 코어). 따라서 각 노드에는 12 코어가 있습니다.)
제 아이디어는 U1, U2를 두 개의 별도 작업자) 자신의 기억을 가지고있는 동시에. U1, U2에 대해 얻은 결과를 사용하여 U3, U4, U5, U6을 계산하고 U7, U8을 계산할 수 있습니다. 이를 위해 Matlabpool에서 PARFOR를 사용해야한다고 생각하십니까? 하지만 루프에 필요한 인덱스 수 (코어/프로세서 수에 해당)를 모르겠습니다.
내 질문은 :
나는 위에서 언급 한 바와 같이 슈퍼 컴퓨터를 사용할 수 있습니다, 그래서 matlab에 분산 컴퓨팅 서버를 사용할 수 있습니까?
이 코드의 경우 Parallel Computing Toolbox 또는 Matlab Distributed Computing 서버를 사용해야합니까? Parallel Computing Toolbox (로컬 근로자)는 U1과 U2 (U3, U4 등)를 계산할 작업자를 지정하지 못합니다. 이들 작업은 메모리를 공유하고 대화식으로 실행되기 때문입니다. 그렇습니까?
제안 된 아이디어를 사용하려면 얼마나 많은 근로자가 필요합니까? 아마 8 코어? 1 개의 계산 노드를 사용하고 9 코어 (8 개는 사용하고 하나는 matlab 세션)를 요청하거나 8 개의 컴퓨터 노드를 사용하는 것이 더 좋습니까?
저는 Matlab 병렬 컴퓨팅의 초보자입니다. 의견을주십시오! 감사합니다.
피터
T- 루프의 반복은 과거 반복에 따라 다릅니 까? – Jonas
아니요, 그렇지 않습니다! T- 루프 (while 회 돌이)는 t_0 (초기)에서 T (종료 시간)까지의 시간 통합에만 해당됩니다. – user3517471