Отправка списка работ в Slurm

Отправка списка работ в Slurm

У меня есть большое количество скриптов, которые можно запустить как отдельные задания на вычислительном кластере, который использует slurm. Я хочу выбрать некоторые из них, основываясь на содержимом, для отправки. Легко определить имена файлов заданий, которые мне нужны, с помощью grep, но мне трудно их перенаправить и отправить.

Я подумал, что можно сделать что-то вроде этого:

grep -l 'regex' script_folder/* | xargs sbatch

Однако, похоже, это приводит к отправке всех сценариев как одного задания, хотя я хочу, чтобы каждый сценарий был отдельным заданием.

решение1

grep -l 'pattern' script_folder/* | xargs -n 1 sbatch

xargsпо умолчанию будет считывать столько данных, сколько может поместиться в одной командной строке, прежде чем выполнить указанную утилиту со всем, что она считывает.

При этом -n 1вы ограничиваете количество элементов, передаваемых утилите, одним элементом за один вызов.

Связанный контент