Can parallel computing toolbox not parallellise over multiple CPUs?
4 次查看(过去 30 天)
显示 更早的评论
I am programming a parfor loop to run on a computer with 2 CPUs with 12 cores each. Despite several different attempts to initialise a parpool with 24 workers, I get pools with maximum 12 workers. I have Parallel Computing Toolbox but not Distributed Computing Server.
Is there a way to parallellise over all 24 cores with PCT? Is 12 workers perhaps an upper limit in PCT, or is it because two separate CPUs in one computer requires DCS?
1 个评论
Wenkang An
2020-9-7
Hi! I'm having the same issue as you described in this post. Can you explain a bit more on "It was a setting for the SLURM job scheduler on the computer that prevented Matlab from using more cores"? Thank you!
回答(1 个)
Matt J
2019-7-10
编辑:Matt J
2019-7-10
12 is the upper limit if you are using a version of Matlab earlier than R2014a, see also
3 个评论
Jason Ross
2019-7-10
编辑:Jason Ross
2019-7-10
You can change the properties in the Local scheduler to run whatever number of workers you wish.
Parallel > Create and Manage Clusters > local > Edit, then set "Number of workers to start on your local machine" to 24.
If you always want to open the pool with 24, also set the preference to do so - Preferences > Parallel Computing Toolbox > Preferred number of workers in a parallel pool.
One caveat to understand is to check the number of cores vs. number of threads supported by your CPUs. The operating system will report all cores as if they are "real", but processing only happens on the cores. So if you have two CPUs with 6 cores / 12 threads on each, upping the number of workers is not likely to increase your performance, as you will be bottlenecked waiting on the cores.
If you Google your processor you can find this out, the processor manufacurers publish them in the CPU specs.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Cluster Configuration 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!