I am using:
MATLAB Version: 8.3.0.532 (R2014a)MATLAB License Number: Operating System: Microsoft Windows 8.1 Version 6.3 (Build 9600)Java Version: Java 1.7.0_11-b21 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode----------------------------------------------------------------------------------------------------MATLAB Version 8.3 (R2014a)Parallel Computing Toolbox Version 6.4 (R2014a)
I check my number of cores;
feature('numcores')MATLAB detected: 4 physical cores.MATLAB detected: 8 logical cores.MATLAB was assigned: 8 logical cores by the OS.MATLAB is using: 4 logical cores.MATLAB is not using all logical cores because hyper-threading is enabled.ans = 4
I also type;
>> p = parpool(8)p.NumWorkersError using parpool (line 99)You requested a minimum of 8 workers, but the cluster "local" has the NumWorkers property set to allow a maximum of 4 workers. To run a communicating job onmore workers than this (up to a maximum of 512 for the Local cluster), increase the value of the NumWorkers property for the cluster. The default value ofNumWorkers for a Local cluster is the number of cores on the local machine.
How can I allocate all 8 logical cores for matlab to use when running parfor.m for example? i.e. how can I make MATLAB use/ not use hyperthreading?
thanks
Best Answer