SLURM пакетный массив l oop? - PullRequest
1 голос
/ 31 января 2020

Я в некоторой степени bash бросил вызов и пытаюсь отправить большой массив заданий через slurm в кластер моего учреждения. Я превышаю свой лимит (который составляет 1000 заданий на массив заданий) и мне приходится многократно разбирать список на блоки по 1000, что утомительно:

sbatch --array=17001-18000 -p <server-name> --time=12:00:00 <my-bash-script>

Как мне написать все oop сделать это? Каждое задание занимает около 11 минут, поэтому мне нужно сделать паузу в l oop. В противном случае, я подозреваю, что SLURM отклонит новую пакетную работу. Кто-нибудь там знает, что делать? Заранее спасибо!

1 Ответ

0 голосов
/ 31 января 2020

Что-то вроде этого должно делать то, что вы хотите

START=1
END=10000
STEP=1000
SLEEP=700 #Just over 11 Minutes (in seconds)

for i in $(seq $START $STEP $END) ; do
    JSTART=$i
    JEND=$[ $JSTART + $STEP - 1 ] 
    echo "Submitting with ${JSTART} and ${JEND}"
    sbatch --array=${JSTART}-${JEND} -p <server-name> --time=12:00:00 <my-bash-script>
    sleep $SLEEP
done

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...