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

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