Запуск MPI-программ на Poluse
Для компиляции и запуска MPI-программ на Poluse можно использовать следующий способ.
При входе на машину необходимо выполнить команду:
source /polusfs/setenv/setup.SMPI
После этого нам станут доступны команды для компиляции (mpicc) и запуска программ (mpirun).
Скомпилировать программу можно при помощи команды:
mpicc <имя_программы>.c -o <имя_программы>
Далее необходимо подготовить файл myrun вида:
#LSBATCH: User input
#BSUB -n 20
#BSUB -W 00:15
#BSUB -o run.%J.out
#BSUB -e run.%J.err
#BSUB -R "span[hosts=1]"
source /polusfs/setenv/setup.SMPI
mpirun -np 1 ./<имя_программы>
mpirun -np 80 --oversubscribe ./<имя_программы>
mpirun -np 100 --oversubscribe ./<имя_программы>
mpirun -np 120 --oversubscribe ./<имя_программы>
mpirun -np 160 --oversubscribe ./<имя_программы>
Далее выполняем команду bsub<myrun
При помощи этой команды/файла мы запрашиваем у системы очередей один узел кластера,
когда этот узел будет выделен нам системой очередей,
на нем будут выполнены запуски нашей программы на нужном числе процессов.
Опция --oversubsribe в данном случае нужна, т.к. мы хотим запустить большее число процессов, чем доступно физических ядер на узле.
С уважением,
Владимир Бахтин.
Комментарии