MATLAB parfor est plus lente que pour — quel est le problème?

le code que j'ai fais face a des boucles comme suit:

bistar = zeros(numdims,numcases); 
parfor hh=1:nt       
  bistar = bistar +  A(:,:,hh)*data(:,:,hh+1)' ;
end   

pour les petites nt (10).

Après le calendrier, il est en fait 100 fois plus lent que l'utilisation régulière en boucle!!! Je sais que parfor pouvez le faire en parallèle sommes, donc je ne suis pas sûr de savoir pourquoi cela ne fonctionne pas.

- Je exécuter

matlabpool

avec le dehors-de-le-boîte de configurations avant l'exécution de mon code.

Je suis relativement nouveau à matlab, et juste commencé à utiliser le parallèle fonctionnalités, donc merci de ne pas supposer que je suis de ne pas faire quelque chose de stupide.

Merci!

PS: je suis l'exécution du code sur un quad core donc je m'attends à voir quelques améliorations.

  • pouvez vous s'il vous plaît nous dire les valeurs de numdims, numcases et le moment où les chiffres que vous avez découverts? merci.
InformationsquelleAutor Junier | 2010-07-04