[torqueusers] MATLAB and cpusets
martin.thompson at unsw.edu.au
Wed Dec 15 03:22:16 MST 2010
I suspect this is purely a MATLAB problem, but I thought I'd check if
anyone here has encountered it.
I have a cluster with CentOS 5.5 installed on each node. I am using
Torque 2.4.11 configured with --enable-cpuset. Each compute node
has /dev/cpuset mounted.
Submitting multithreaded jobs such as code compiled with OpenMP, MKL or
ATLAS all work as I would expect. These jobs only get access to the
number of cpu cores requested and they are able to fully utilise them.
However, MATLAB does not behave as expected. If a MATLAB job requests a
subset of the available cores on a compute node, say 6 out of 12, then
it will use those 6 cores if it is the only job running on that node.
However, if another job was already running on that node, say using the
other 6 cores, then MATLAB will not use its full allocation of cores.
In most of my tests, using MATLAB 2008b, 2009b and 2010b, it will only
use a single core instead of the 6 that are available. Sometimes I have
seen MATLAB 2009b use 2 cores. The MATLAB test I use to investigate
this problem is just the multiplication of two random 8000x8000
More information about the torqueusers