2015-05-21 6 views
2

Я хотел бы знать, как отправить несколько программ mpirun в один файл сценария задания в Sun Grid Engine.Отправить несколько программ mpirun в солнечной сетке двигателя

Предположим, я составил program1, program2, программы3 .. program100 и хотите запустить их одновременно таким образом, что каждое из них использует 16 процессоров в одном сценарии работы без 100 сценариев работы.

mpirun -np 16 program1 & 
mpirun -np 16 program2 & 
mpirun -np 16 program3 .... 

Как я могу распределять узлы по каждой программе в Sun Grid engine? (Можно ли разделить хост-файл SGE на 100 и отправить их в каждый mpirun?)

Спасибо.

ответ

1

Правильный способ реализации этого варианта использования с СГЭ является использование заданий массива:

#$ -cwd 
#$ -pe mpi 16 
#$ -t 100 

mpirun -np $NSLOTS ./program${SGE_TASK_ID} 

Параметр -t 100 создает задание массив из 100 задач и каждый из них получает другое значение из переменной SGE_TASK_ID среды в диапазоне от 1 до 100.

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

+0

Я пробовал работу массива в SGE, и это сработало. Задача массива автоматически повторяет один и тот же сценарий работы много раз с некоторым условным обозначением. Спасибо. – user2775514