el código que estoy tratando con bucles tiene el siguiente aspecto:MATLAB parfor es más lento que para - ¿qué pasa?
bistar = zeros(numdims,numcases);
parfor hh=1:nt
bistar = bistar + A(:,:,hh)*data(:,:,hh+1)' ;
end
para pequeñas nt (10).
Después de sincronizarlo, en realidad es 100 veces más lento que utilizando el lazo normal. Sé que parfor puede hacer sumas paralelas, así que no estoy seguro de por qué esto no está funcionando.
corro
matlabpool
con las configuraciones de salida de la caja antes de ejecutar el código.
Soy relativamente nuevo en matlab, y recién comencé a usar las funciones paralelas, así que no asuma que no estoy haciendo algo estúpido.
Gracias!
PD: Estoy ejecutando el código en un núcleo cuádruple, así que esperaría ver algunas mejoras.
¿podría decirnos los valores de numdims, numcases y las cifras de tiempo reales que encontró? Gracias. – rwong