parallel computing: matlab only uses half the cores available. Help?

23 views (last 30 days)
Hello,
I have a machine with 40 cores and I'm trying to use them all for a job. I have set the preferred number of workers to 40 in the Preferences, but I can see that matlab is only using 20 workers. Any suggestions about how to fix this? Thanks a lot
-L
  2 Comments
Adam
Adam on 2 Nov 2016
Does it have 40 actual cores or is it 20 with hyper-threading? I know next to nothing about hyper-threading, but I know my machine has 28 physical cores, but 56 show up in my task manager due to hyper threading. Matlab only uses the 28 though.
Mujahid Sultan
Mujahid Sultan on 13 Aug 2017
Edited: Mujahid Sultan on 14 Aug 2017
I have the same issue, "nproc" shows 56 where as Matlab only uses 28 cpus, features('nucores') shows 28 cores. Interestingly the map-reduce function of Matlab uses all 56 cores and returns only results for 28. I am loosing half of my computations somewhere.

Sign in to comment.

Accepted Answer

Kojiro Saito
Kojiro Saito on 2 Nov 2016
On MATLAB,
  1. Go to Parallel Menu -> Manage Cluster Profiles
  2. Edit your cluster profile (name is 'local')
  3. Input 40 (the number of your cores) in "NumWorkers" column and click "Done"
Thanks

More Answers (1)

Luis Hernandez
Luis Hernandez on 2 Nov 2016
I'm afraid I already did what Kojiro suggested- it didn't work and that is why I'm asking on this forum.
@Adam: The machine has 40 actual cores.
thanks again.
-Luis
  5 Comments
Kojiro Saito
Kojiro Saito on 7 Nov 2016
@Luis, could you provide me the version of your MATLAB?
Also, if you can figure out the difference between your settings, please let us know.
Thanks,
Dylan Gomes
Dylan Gomes on 6 Mar 2023
Edited: Dylan Gomes on 6 Mar 2023
I thought I was having the same issue with MATLAB R2021a, but it turned out that I only actually have 6 physical cores, when I thought I had 12.
>> feature('numCores')
%
% MATLAB detected: 6 physical cores.
% MATLAB detected: 12 logical cores.
% MATLAB was assigned: 12 logical cores by the OS.
% MATLAB is using: 6 logical cores.
% MATLAB is not using all logical cores because hyper-threading is enabled.

Sign in to comment.

Categories

Find more on Cluster Configuration 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!