나는 matlab에 의해 코드를 작성했고 병렬 컴퓨팅 도구 상자를 사용했습니다. 내 코드에 대한 자세한 설명 : matlab 및 병렬 병렬 유전 알고리즘을 구현하려고합니다. 컴퓨팅 도구 상자.parfor에 의해 병렬 코드가 병렬 버전보다 느린 것
구현했지만 문제가 있습니다. 즉 parfor와의 나의 병렬 코드는 연속적인 것보다 훨씬 느리다.
내 코드 :
tic
for j=1:maxIteration
parfor i=1:numIslands
if migrationInterval
doMigration;
end
doCrossover;
doMutation;
newSpring;
end
end
toc
numIslands
항상 소수 (5 ~ 12) maxiteration
는 항상 큰 숫자 (5000-1500) 가 내가 당신을 추천 당신에게
내 컴퓨터에는 두 개의 코어가있는 CPU가 있습니다 – monir
['gcp'] (http://www.mathworks.com/help/distcomp/gcp.html)'('nocreate')를 실행하면 무엇을 얻게됩니까? NumWorkers'? 루프 앞에 ['parpool'] (http://www.mathworks.com/help/distcomp/parpool.html)'(2);를 추가하면 타이밍 결과가 변경됩니까? –
수영장 설정 방법에 대한 세부 정보를 제공해 주실 수 있습니까? 또한'migrationInterval'은 무엇입니까? 그것이 사실인지 거짓인지를 결정하는 것은 무엇입니까? – Matt