This has nothing to do with job arrays. Your system is presumably
configured to allocate cores rather than threads to jobs. See:
http://slurm.schedmd.com/cons_res.html
Quoting Bill Broadley <[email protected]>:
We are running slurm-2.6.2 currently.
Our nodes are:
* dual socket
* 6 cores per socket
* 2 threads per core.
In slurm speak:
CPUTot=24
CoresPerSocket=6
Sockets=2
ThreadsPerCore=2
So sbatch -n 24 will happily place a job on a node.
However sbatch --array=1-24 will only ever place 12 array jobs on a
node. Even
--ntasks-per-core=2 doesn't change that.
Is that intentional? Is there a way to get an array job to run one
per thread/2
per core?