Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

To resolve issues starting MATLAB on Mac OS X 10.10 (Yosemite) visit: http://www.mathworks.com/matlabcentral/answers/159016

Number of usable cores differs from 2013a to 2013b?

Asked by Christian Wirtz on 19 Sep 2013
Latest activity Commented on by Christian Wirtz on 8 Nov 2013

Hi,

I am using an AMD FX8150 with assumed 8 physical cores on Windows 7. Since upgrading from 2013a to 2013b matlabpool only uses 4 instead of cores, whereas 2013a can use all 8.

Under Parallel Preferences: The Preferred number of workers in a parallel pool is set to 12.

2013b
>> feature('numCores')
MATLAB detected: 4 physical cores.
MATLAB detected: 8 logical cores.
MATLAB was assigned: 8 logical cores by the OS.
MATLAB is using: 4 logical cores.
MATLAB is not using all logical cores because hyper-threading is enabled.
2103a
>> feature('numCores')
ans =
       8

To my knowledge the FX8150 is not using hyperthreading. Anybody having the same problem or any idea, why I could use 8 cores in 2013a and not in 2013b anymore?

Thanks in advance.

0 Comments

Christian Wirtz

1 Answer

Answer by Sean de Wolski on 19 Sep 2013

If you go to parallel preferences, what is the preferred number of workers?

5 Comments

Christian Wirtz on 19 Sep 2013

No, unfortunately it results in an error:

>> p = parpool(8)
p.NumWorkers
Starting parallel pool (parpool) using the 'local' profile ... 
Error using parpool (line 111)
Failed to start a parallel pool. (For information in addition to the causing error, validate the profile 'local' in the
Cluster Profile Manager.)
Caused by:
    Error using parallel.internal.pool.InteractiveClient/start (line 326)
    Failed to start pool.
        Error using parallel.Job/submit (line 304)
You requested a minimum of 8 workers, but the cluster "local" has the NumWorkers property set to allow a maximum of 4 workers. To run a communicating job on more workers than this (up to a maximum of 12 for the Local cluster), increase the value of the NumWorkers property for the cluster. The default value of NumWorkers for a Local cluster is the number of cores on the local machine.

I think the problem is that MATLAB is detecting an hyperthreading CPU, as pointed out by feature('numCores').

Jonathan on 8 Nov 2013

I just encountered this same issue using my AMD FX 8350. Did you ever find a resolution?

Christian Wirtz on 8 Nov 2013

Hi Jonathan,

nope unfortunately I did not recieve any further hint nor found an answer on the web. Personally I decided to rollback to 2013a.

Sean de Wolski

Contact us