#python #mpi #openmpi #slurm #sbatch
#python #mpi #openmpi #slurm #sbatch
Вопрос:
Я прошу решения проблемы, которую я не понимаю. Я использую кластер slurm и у меня есть скрипт на python ‘SOLVER.py ‘, который использует команды mpirun в своем коде (вызывает численное моделирование спектральных элементов). Каждый узел в кластере состоит из 40 процессоров. В качестве примера я хотел бы вызвать 5 узлов и запустить скрипт ‘solver.py «на каждом узле (5 раз, параллельно) по 40 процессоров в каждом.
#!/bin/bash
#
#SBATCH --job-name=solv
#SBATCH --comment="example"
#SBATCH --exclusive
#SBATCH --workdir=. ### directory where the job should be executed from
#SBATCH --mem=150000 ### RAM in MB required for the job (this is mandatory!!!)
#SBATCH --nodes=1 ### Node count required for the job
#SBATCH --exclusive
#SBATCH --output=slurm.%j.out ### output file for console output
#SBATCH --partition=long ### partition where the job should run (short|medium|long|fatnodes)
# ...
#export OMP_NUM_THREADS=160
python SOLVER.py
.. работает нормально. Теперь, каков правильный метод для запуска скрипта 5 раз на 5 узлах?
Я пробовал много разных вещей, разные ntasks, разные комбинации srun и плагин под названием jug, но всегда получал разные проблемы.
Может ли кто-нибудь мне помочь? 🙂
С наилучшими пожеланиями,
Макс
Комментарии:
1. Почему бы не отправить по 5 заданий на 1 узел?
2. плюс один, для этого вы можете использовать массивы заданий
3. @Stefan: Спасибо за ваш ответ. Вы имеете в виду вызов 5 раз sbatch./myscript.sh ? Это связано с тем, что система ограничена определенным количеством заданий (но не количеством узлов, что, по-моему, глупо ..) : (Есть идеи, как я могу поместить это в один скрипт / одно задание?
4. @GillesGouaillardet: Спасибо и вам за ваш ответ! Я думаю, что это будет иметь тот же эффект, что и предложение Стефана выше, или нет?
5. Это зависит от конкретного сайта, и вы можете собрать больше узлов с помощью одного массива заданий из n (вспомогательных) заданий против n независимых заданий с одним узлом. Рекомендую ли я вам попробовать и посмотреть, как это работает.