Why does my Matlab 2014a only start 12 workers when I ask for more?
5 views (last 30 days)
Show older comments
Malte Nissen
on 29 May 2014
Commented: Debejyo Chakraborty
on 24 May 2016
First of all I'm running Matlab 2014a. I have access to multiple machines running 32 hardware cores each with 2 threads. I know that matlab might not be able to utilize the threads for 64 workers, but when I try to start a parallel pool using the 'local' profile with NumWorkers = 32, only 12 workers are spawned (verified by inspecting the process list with "top"). I've read that the limit on the number of local workers in previous versions was 12, but this should be removed in matlab 2014a according to the release notes. I have verified that the system indeed has 32 cores using lscpu giving me 32 physical cores each with 2 threads (it says 64 cpus).
Is anybody able to clarify whether I should be able to start 32 workers or not? The 'local' profile was set to 32 workers by default.
0 Comments
Accepted Answer
Edric Ellis
on 3 Jun 2014
I think the problem here is that you either need to explicitly state when calling parpool how many workers you want, like so:
parpool('local', 32)
4 Comments
Edric Ellis
on 9 Jul 2014
Sorry I didn't reply - your other option is to do the following which completely bypasses preferences etc.:
c = parcluster('local');
c.NumWorkers = 32;
parpool(c, c.NumWorkers);
More Answers (0)
See Also
Categories
Find more on File Operations 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!