나는 MATLAB을 연구 중이다. MATLAB에서 병렬 컴퓨팅 도구 상자를 처음 사용했습니다. 코어 i3 프로세서, MATLAB R2011a, 2GB RAM, 320 하드 디스크가 있습니다.병렬 코드가 MATLAB의 병렬 컴퓨팅 도구 상자를 사용하는 순차 코드보다 시간이 오래 걸립니다. 왜?
속도를 계산하기 위해 다음 코드를 작성하여 병렬 코드가 순차 코드보다 더 오래 걸리는 것으로 나타났습니다.
첫 번째 코드는
2 코드 0.379056 초를 취하고있다 0.039763 초를하고있다.
첫 번째 코드 :
tic
MM = magic(5);
MN = magic(5);
ML = magic(5);
MP = magic(5);
MK = magic(5);
MM
MN
ML
MP
MK
toc
2 코드 : 내가 병렬 컴퓨팅 도구 상자를 배우고 싶은
matlabpool open local 4
tic
spmd % Uses all 3 workers
MM = magic(5); % MM is a variable on each lab
end
MM{1}
MM{2}
MM{3}
MM{4}
toc
matlabpool close
.
더 큰 문제로 시도해보십시오. 아마도 병렬화의 오버 헤드는 그러한 작은 규모의 문제에 대한 속도 향상보다 비용이 많이 듭니까? – Dan
또한 작업자에게 다른 작업을 시도하십시오. Matlab은 몇 가지 동일한 순차 작업에 대한 계산 속도를 높일 수 있습니다. –