Запуск задач на узлах с заданным количеством ядер
Иногда нужно запустить задачу не на любых узлах, а только с определенным количеством ядер, например, с 4-ядерными процессорами.
У SLURM для этого есть соответствующие опции команд srun/sbatch. Рассмотрим эти параметры.
--mincpus=n позволяет указать минимально необходимое количество ядер в узле.
--extra-node-info=sockets[:cores[:threads]] задает дополнительную информацию для выделения ресурсов на узле, а именно:
sockets - количество физических процессоров на узле;
cores - количество ядер на процессор;
threads - количество ниток на ядро.
Полное количество ресурсов, выделенных на узле, будет произведением этих величин.
Можно задавать диапазоны min-max, использовать знак * для задания любых доступных вариантов.
Например,
--extra-node-info=*:4-8 будет использовать узлы с процессорами от 4-ядерных до 8-ядерных.
Также можно отдельно задавать каждый из параметров:
--sockets-per-node=sockets
--cores-per-socket=cores
--threads-per-core=threads