Effacer les filtres
Effacer les filtres

parfor using

1 vue (au cours des 30 derniers jours)
N. Yildirim
N. Yildirim le 3 Mar 2012
Hi everybody, i have a question about parfor using. I tried a classical example for parfor on my PC but i couldn't get gainly results. How ?
nmax=1000;
y = zeros(nmax,1);
tic
parfor n = 1:nmax
z = randn(n);
y(n) = max(svd(z));
end
toc
Results:
(nmax, pool size, time)
(500, 0, 12.51) (500, 2, 8.71) (500, 4, 5.16) That's OK.
(750, 0, 46.03) (750, 2, 38.65) (750, 4, 30.32) Maybe OK.
(1000, 0, 141.40) (1000, 2, 156.19) (1000, 4, 174.81) Why ?
Thanks for replies.

Réponse acceptée

Laurens Bakker
Laurens Bakker le 7 Mar 2012
Hi Yildirim,
There is considerable overhead in gathering the data back into a single variable. I removed the assignments and that improves the situation.
nmax=1000;
y = zeros(nmax,1);
tic
parfor n = 1:nmax
max( svd( randn(n) ));
end
toc
Cheers,
Laurens

Plus de réponses (1)

N. Yildirim
N. Yildirim le 17 Mar 2012
Hi Laurens,
thanks a lot for your reply. It's also very logical to me. But I havent still time saving. Nothing has changed :(
Cheers, Yildirim

Catégories

En savoir plus sur Parallel Computing Fundamentals dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by