Я хотел бы запустить ту же программу на большом количестве разных входных файлов. Я мог бы просто представить каждого в виде отдельного представления Slurm, но я не хочу болотовать очередь, сразу сбросив 1000 единиц заданий. Я пытался выяснить, как обрабатывать одинаковое количество файлов, вместо этого сначала создавая выделение, а затем в пределах этого цикла распределения по всем файлам с помощью srun, предоставляя каждому вызову одно ядро из выделения. Проблема в том, что независимо от того, что я делаю, выполняется только один шаг работы. Самый простой тест я мог придумать это:Параллельные, но разные действия, выполняемые с помощью команды slurm srun, не работают
#!/usr/bin/env bash
srun --exclusive --ntasks 1 -c 1 sleep 1 &
srun --exclusive --ntasks 1 -c 1 sleep 1 &
srun --exclusive --ntasks 1 -c 1 sleep 1 &
srun --exclusive --ntasks 1 -c 1 sleep 1 &
wait
Это не имеет значения, сколько ядер Поручаю распределение:
time salloc -n 1 test
time salloc -n 2 test
time salloc -n 4 test
всегда занимает 4 секунды. Невозможно ли выполнить несколько шагов задания параллельно?
Это хорошие предложения, очень ценные. Однако проблема оказалась чем-то еще. – Cyclone