Changing my OS reduced maximum number of threads for parallel processing
Show older comments
I recently changed my OS system from Fedora to Ubuntu 24.04. On Fedora I could setup a thread-based parallel pool with 10 threads no problem (parpool('threads', 10). When I try doing the same thing in Ubuntu, I get the following error:
'A minimum pool size of 10 was requested. The maximum thread-based pool size is currently 2.'
I've tried a couple of things with no luck
- maxNumCompThreads(10)
- I checked nproc to make sure that Ubuntu recognizes all the CPU's - it does
- reinstalled the parallel computing toolbox
- Varying the settings in cluster profile manager
Is there anything else I could try?
4 Comments
Damian Pietrus
on 25 Sep 2024
Out of curiosity, which version of MATLAB are you running? What is the output of:
feature numcores
Liam
on 25 Sep 2024
Damian Pietrus
on 26 Sep 2024
Interesting. What model of CPU are you using -- does it have a mix of "performance" and "efficiency" cores? Do you have the same issue when using the Processes profile?
Liam
on 30 Sep 2024
Answers (1)
Damian Pietrus
on 8 Oct 2024
Moved: Edric Ellis
on 11 Aug 2025
0 votes
Hey Liam,
That difference between performance and efficiency cores is exactly the reason you're getting this message. MATLAB processes should only be run on the performance cores to avoid resource issues, so Ubuntu in this case is doing the right thing. Do you happen to remember the specific version of Fedora you were using? It looks like it did not distinguish any difference between the core types. I'd like to pass this behavior along to development just so they're aware.
Categories
Find more on Parallel Computing Fundamentals 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!