il codice ho a che fare con i loop ha come le seguenti:MATLAB parfor è più lento di per - cosa c'è che non va?
bistar = zeros(numdims,numcases);
parfor hh=1:nt
bistar = bistar + A(:,:,hh)*data(:,:,hh+1)' ;
end
per piccole nt (10).
Dopo averlo cronometrato, in realtà è 100 volte più lento rispetto al normale loop !!! So che Parfor può fare somme parallele, quindi non sono sicuro del perché questo non funzioni.
corro
matlabpool
con le configurazioni out-of-the-box prima di eseguire il mio codice.
Sono relativamente nuovo in MATLAB e ho appena iniziato a utilizzare le funzionalità parallele, quindi per favore non presumere che non sto facendo qualcosa di stupido.
Grazie!
PS: Sto eseguendo il codice su un quad core, quindi mi aspetto di vedere alcuni miglioramenti.
puoi dirci per favore i valori di numdims, numcases e le cifre temporali effettive che hai trovato? Grazie. – rwong