Задание MPI в кластере Rocks (планировщик SGE) не выполняется на нескольких узлах

Я пытаюсь запустить параллельное задание MPI с помощью планировщика Sun Grid Engine в кластере Rocks v5.4.3. В кластере есть очередь с именем all.q, состоящая из 22 вычислительных узлов: 21 из которых имеет 8 ЦП, а 1 — 4 ЦП. Однако при выполнении параллельного задания все создаваемые им задачи ограничиваются одним узлом.

Например, если я запрашиваю 16 ЦП (задач) в сценарии отправки задания и отправляю задание планировщику с помощью qsub, задание запускается успешно, но все 16 задач запускаются на одном узле (первом назначенном узле), вместо этого распределения между узлами, назначенными для задания планировщиком.

Сценарий отправки задания для этого тестового примера выглядит следующим образом:

#!/bin/bash
#$ -N test
#$ -cwd
#$ -pe mpi 16
#$ -S /bin/bash
#$ -q all.q
#$ -e $JOB_NAME.e$JOB_ID
#$ -o $JOB_NAME.o$JOB_ID

lammps=/home/Brian/lammps/lmp_openmpi

/opt/intel/openmpi-1.4.4/bin/mpirun -machinefile $TMPDIR/machines \
-np $NSLOTS $lammps -in in.melt > job.log

Выходной файл планировщика показывает, что задачи задания назначаются следующим узлам:

compute-1-14
compute-1-14
compute-1-14
compute-1-14
compute-1-14
compute-1-14
compute-1-14
compute-1-14
compute-1-16
compute-1-16
compute-1-16
compute-1-16
compute-1-16
compute-1-16
compute-1-16
compute-1-16

Однако, если я ssh зайду в calculate-1-14 и запущу top и grep процессы lmp_openmpi, я получу следующее:

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
21762 Brian 25 0 253m 87m 5396 R 99.1 0.5 2:19.60 lmp_openmpi 
21761 Brian 25 0 253m 87m 5508 R 73.3 0.5 1:50.14 lmp_openmpi 
21759 Brian 25 0 253m 87m 5804 R 71.3 0.5 1:55.38 lmp_openmpi 
21760 Brian 25 0 253m 87m 5512 R 71.3 0.5 1:36.27 lmp_openmpi 
21765 Brian 25 0 253m 87m 5324 R 61.4 0.5 1:53.11 lmp_openmpi 
21763 Brian 25 0 253m 87m 5496 R 59.5 0.5 1:53.14 lmp_openmpi 
21770 Brian 25 0 253m 87m 5308 R 59.5 0.5 1:45.21 lmp_openmpi 
21767 Brian 25 0 253m 87m 5504 R 57.5 0.5 1:58.65 lmp_openmpi 
21772 Brian 25 0 253m 87m 5304 R 43.6 0.5 1:52.24 lmp_openmpi 
21771 Brian 25 0 253m 87m 5268 R 39.6 0.5 1:51.23 lmp_openmpi 
21773 Brian 25 0 253m 87m 5252 R 39.6 0.5 1:52.02 lmp_openmpi 
21774 Brian 25 0 253m 87m 5228 R 39.6 0.5 1:47.85 lmp_openmpi 
21766 Brian 25 0 253m 87m 5332 R 29.7 0.5 1:51.18 lmp_openmpi 
21764 Brian 25 0 253m 87m 5356 R 27.7 0.5 2:09.05 lmp_openmpi 
21768 Brian 25 0 253m 87m 5356 R 21.8 0.5 1:35.28 lmp_openmpi 
21769 Brian 25 0 253m 87m 5324 R  7.9 0.5 1:50.63 lmp_openmpi 

что составляет 16 процессов, при запуске top на вычислении-1-16 не отображаются процессы lmp_openmpi.

Я не уверен, насколько подробно я объяснил проблему, поэтому, если нужна дополнительная информация, пожалуйста, дайте мне знать. Я также новичок в Rocks и SGE, поэтому, надеюсь, мой пример достаточно ясен. Если нет, то я изменю. Спасибо всем заранее.


person Brian    schedule 23.08.2016    source источник
comment
как выглядит $TMPDIR/машины? Вы уверены, что это не должно быть $TMP/machines? rocksclusters.org/roll-documentation/sge/ 4.2.1/   -  person Rob Latham    schedule 25.08.2016
comment
Я попытался перейти на $TMP/machines, но результат тот же. Я думаю, что возникла проблема со сборкой openMPI в нашем кластере. В итоге я установил новейшие версии компиляторов Intel v16.0.3 и Intel MPI v5.1.3, которые решили проблему с несколькими узлами. Спасибо за предложение.   -  person Brian    schedule 26.08.2016


Ответы (1)


Проблема: проблема со сборкой openMPI на нашем кластере.

Решение: установка новейшей версии компиляторов Intel v16.0.3 и Intel MPI v5.1.3, которые решили проблему с несколькими узлами.

person Brian    schedule 26.08.2016