Я использовал SLURM для использования некоторого вычислительного кластера, и у него были -ntasks
или -n
. Я, очевидно, прочитал документацию для него (http://slurm.schedmd.com/sbatch.html):
sbatch не запускает задачи, он запрашивает распределение ресурсов и отправляет пакет script. Этот параметр советует контроллеру Slurm что этапы работы, выполняемые в рамках распределения, запустит максимум число задач и обеспечить достаточные ресурсы. По умолчанию используется одна задача за node, но обратите внимание, что параметр -cpus-for-task будет измените это значение по умолчанию.
конкретная часть, которую я не понимаю, что это означает:
выполняемый в рамках распределения, запускается максимальное число задач и обеспечить достаточные ресурсы.
У меня есть несколько вопросов:
- Я предполагаю, что мой первый вопрос - это то, что означает слово "задача", а разница - со словом "работа" в контексте SLURM. Обычно я рассматриваю работу как работу bash script под sbatch, как в
sbatch my_batch_job.sh
. Не уверен, что означает задача. - Если я приравниваю слово задание к заданию, я думал, что он будет работать с одинаковым bash script несколько раз в соответствии с аргументом
-n, --ntasks=<number>
. Тем не менее, я, очевидно, проверил его в кластере, запустилecho hello
с--ntask=9
, и я ожидал, что sbatch будет эхо привет 9 раз для stdout (который собран вslurm-job_id.out
, но, к моему удивлению, было одно исполнение моего эха привет script Тогда что делает эта команда? Кажется, она ничего не делает или, по крайней мере, я не могу понять, что должно делать.
Я знаю, что параметр -a, --array=<indexes>
существует для нескольких заданий. Это другая тема. Я просто хочу знать, что делать --ntasks
, в идеале, с примером, чтобы я мог проверить его в кластере.