Using parfor

4 views (last 30 days)
Peter
Peter on 27 Apr 2012
Hi I successfully implemented a parfor loop in Matlab. However on my computer which has 4 cores I am not getting the improvement in computation time I expected to get. When I go to the task manager and check the CPU usage it rarely goes over 25% which is the same as before the parfor loop What could be the problem?

Accepted Answer

Thomas
Thomas on 27 Apr 2012
What kind of problem have you set up using parfor.. a general fact about the Parallel Computing Toolbox is that the parallel tasks have to be pretty intensive/expensive in order for parallelization be effective..
If your computation is trivial then you might not get the speedup you expect.. Not a lot more can be said without looking at what code you have parallelized.
Also, is your machine quad core or a two core hyperthreaded which would show up as 4 virtual cores?
  1 Comment
Peter
Peter on 27 Apr 2012
Hi thanks for your reply,
My processor is an Intel(R) Core(TM)2 Quad CPU Q8200 @2.33GHz.
Yes the tasks are pretty heavy.I use bintprog with a hundreds or thousands of variables that take a while to compute and other computationally expensive stuff.
I define the parfor this way on MATLAB 7.5.0(R2007b):
parfor (r=1:m_dash,4)
... end
Is that the correct way?

Sign in to comment.

More Answers (1)

Edric Ellis
Edric Ellis on 2 May 2012
One thing to check - have you opened MATLABPOOL before issuing PARFOR? You need to do this in each MATLAB session to make the extra workers available. I.e.
matlabpool open local 4

Categories

Find more on Parallel for-Loops (parfor) in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!