Can Matlab use all hypertheaded cores on a computer or only the physical ones?
2 views (last 30 days)
Show older comments
Hey! First of all I am new to Matlab. I am using Matlab R2011a. I've been looking around for a precise answer for my question, but have not found it yet. I want to know if Matlab creates only one worker per physical core or if it uses all the hypertheaded cores the computer has. The computer where Matlab is running has an Intel i5 dual-core, but since its hypertheaded, the Operating System reports it has having 4 cores. Will Matlab create and use 4 workers, or will it only use 2 since the CPU only has 2 physical cores? Also, in the case that Matlab uses only 1 worker per core, I would like to know if it takes advantage in any way of the hypertheading abilities the CPU has. Thank you very much for your help!
2 Comments
Jason Ross
on 16 Sep 2011
Is your question regarding MATLAB running as a single application, or are you using the Parallel Computing Toolbox and the local scheduler?
Answers (3)
Jason Ross
on 16 Sep 2011
By default, the number of workers started will be equal to the number of physical cores. In your example, this would be 2. You can override it by modifying the number of workers in the properties of the local scheduler.
The workers are started by default in "singleCompThread" mode.
As with many things, the optimal solution for you likely depends on what you are actually doing.
0 Comments
Walter Roberson
on 16 Sep 2011
My recollection from previous discussions is that MATLAB will use hyperthreading if it is enabled for your system.
0 Comments
See Also
Categories
Find more on Performance Profiling 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!