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?

 Akzeptierte Antwort

Thomas
Thomas am 27 Apr. 2012

0 Stimmen

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 Kommentar

Peter
Peter am 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?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Edric Ellis
Edric Ellis am 2 Mai 2012

0 Stimmen

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

Kategorien

Mehr zu Parallel Computing Toolbox finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 27 Apr. 2012

Community Treasure Hunt

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

Start Hunting!

Translated by