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

Reply via email to