If your sys admin will cooperate, define a single generic resource per
node and have each task consume one of them.
In slurm.conf:
GresType=french
NodeName=tix[1-100] Gres=french:1
In the job array:
sbatch --array=1-1000 --gres=french -n1 my.bash
Quoting Will French <[email protected]>:
Does anyone know of a way to ask SLURM to spread job array elements
across different nodes? As an example, let’s say I want each element
in an array to run a single task on a single CPU core, with each
task running on a separate node. These tasks do not require much
memory so that’s a non-issue.
The motivation for this is network-related. It could be advantageous
to spread job arrays across multiple nodes (and, more importantly,
multiple racks/broods connected to different switches) if the tasks
are network-bound.
Thanks,
Will
--
Morris "Moe" Jette
CTO, SchedMD LLC
Commercial Slurm Development and Support