에 parfor의 폴더에있는 파일을 .mat로드 어떻게는 MATLAB
B=load('dataB.mat'); % B is a 1600*100 matrix stored as 'dataB.mat' in the local folder
simN=100;
cof=cell(1,simN);
se=cell(1,simN);
parfor s=1:simN
[estimates, SE]=fct(0.5,[0.1,0.8,10]',B(:,s));
cof{s}=estimates';
se{s}=SE';
end
그러나 코드를 다음과 같이 MATLAB에서 parfor 루프를 실행하려면, 코드가 작동하지 않을 것 같다 - 어떤 경고가없고, 그것이 그냥 출력없이 영원히 실행 - 나는 루프를 종료하고 함수 'fct'에 입력 한 적이 없다는 것을 알았습니다. MATLAB의 병렬 컴퓨팅에서 'dataB.mat'와 같은 외부 데이터를로드하는 방법에 대한 도움이 필요하십니까?
코드에 문제가없는 것 같습니다. 정말 오랜 시간이 걸릴 수도 있습니다. 병렬 계산을 할 때 MATLAB은 모든 필요한 데이터를 각 작업자에게 전송해야합니다. 이 경우 B는 모든 작업자에게 복사해야합니다. 'B'가 매우 큰 경우 이것은 주요 지연을 유발할 수 있으며 보통'for' 루프보다 시간이 오래 걸립니다. – jodag