about parfor and spmd speedup

3 views (last 30 days)
Xiaochun
Xiaochun on 30 Dec 2011
hi,
I have tested the speedup of parfor and spmd as
1)for
tic
for n=1:1000
A=B*C;
end
toc;
2)parfor spmd in one worker in the same pc:
// I have stored B C in the worker before computing
tic
parfor n=1:1000
A=B*C;
end
toc;
I find that the speed of parfor and spmd is only 2/3 of single matlab. is it possible to make it faster?
  1 Comment
Walter Roberson
Walter Roberson on 30 Dec 2011
how big are B and C ?

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 30 Dec 2011
If your matrices are not very big, then the time required to set up workers and communicate data in to them can overwhelm any saving of using multiple workers.
  3 Comments
Xiaochun
Xiaochun on 2 Jan 2012
I see. Thank you very much.

Sign in to comment.

More Answers (1)

Knut
Knut on 3 Jan 2012
So the spot where parfor can really shine is loops that are : a)Simple enough that parfor can do them in parallell b)complex/non-general enough that MATLAB does not have a low-level library that does it in paralell anyways
?
  1 Comment
Titus Edelhofer
Titus Edelhofer on 3 Jan 2012
As a rule of thumb: yes. Another way to formulate b): when you have e.g. a quad core (with hyperthreading), i.e., your task manager shows you 8 CPU usages, and your (loop) code runs at exactly 12.5% average CPU usage ...

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!