MatLab R2011a detects 8 physical cores when I only have 4!

1 view (last 30 days)
Hey! I have a computer that has a single Xeon X3480 (4 cores) CPU and 16 GB of PC-1333 RAM. This computer is currently running Windows Server 2008 R2. I am running MatLab R2011a. My problem is that when I run 'matlabpool open', MatLab gives me a pool of 8 workers when I only have 4 physical cores. In all my other machines, MatLab only gives me one worker per physical core. I am wondering whats wrong? I have checked all the properties of my local configuration and they are all on default. I have the "Number of workers available to scheduler (Cluster Size)" option empty so as far as I know it is supposed to give me only 4 workers. Thanks in advance!

Accepted Answer

Jan
Jan on 19 Oct 2011
This Xeon uses hyper-threading, as shown here:
This means, that each core can process two threads at the same time. Therefore it is a good idea to start 8 workers.

More Answers (1)

Thomas
Thomas on 20 Oct 2011
Also if you do not want to use hyper-threading or run just 1 instalnce of matlab/physical core you can give the command
matlabpool open local 4
and matlab will open a local pool of only 4 workers ( I hope it would be on the 4 physical cores and not use hyper-threading on two cores and leave the other two cores unused..)

Categories

Find more on Parallel for-Loops (parfor) 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!