Для упрощения процесса постановки задач, написанных с использованием стандарта MPI или OpenMP (или MPI+OpenMP), в очередь была разработана утилита
mpisubmit.pl
, очень похожая на ту, что в течение нескольких лет успешно используется на системе BlueGene/P.
Также как и на BlueGene в общем виде вызов утилиты выглядит следующим образом:
mpisubmit.pl [параметры скрипта] исполняемый_файл [-- параметры исполняемого файла]
Необходимо отметить, что если пользовательская программа принимает параметры через интерфейс командной строки, то их нужно отделить двойным минусом («--») от имени исполняемого файла.
Описание параметров утилиты mpisubmit.pl
приведено в таблице.
Аргумент | Значение по умолчанию |
Описание |
---|---|---|
-p |--processes |
|
Запрашиваемое число MPI процессов* |
-w |--wtime |
|
Максимальное время выполнения задания |
-t |--threads
Число запрашиваемых нитей на один MPI процесс** |
| |
-g |--gpu
Указывает, что задачу надо запустить на графических картах |
| |
--stdout | <exec>.$(jobid).out |
Файл, в который будет направлен стандартный поток вывода |
--stderr | <exec>.$(jobid).err |
Файл, в который будет направлен стандартный поток ошибок |
--stdin | Файл, содержимое которого будет использовано в качестве стандартного ввода | |
-h |--help |
|
Вывести справочную информацию о параметрах командной строки |
-d |--debug |
|
Не ставить задачу в очередь, но вывести содержимое автоматически генерируемого командного файла в stdout. |
* Для программ не использующих MPI предполагается равным 1
** В силу особенностей реализации, в случае если число нитей указано больше 8, количество MPI процессов должно быть кратно 4.
Пожалуйста, имейте в виду, что недопустимо удалять исполняемый файл до того, как программа завершит свою работу.
Кроме того, не забывайте, что программа должна иметь права на исполнение (например, -rwxr-xr-x
).
a.out
с параметрами по умолчанию:
$> mpisubmit.pl a.out
a.out
создав 30 MPI процессов
с лимитом времени 5 минут и передать ей два параметра
(3.14, 2.72):
$> mpisubmit.pl -p 30 -w 00:05 a.out -- 3.14 2.72
a.out
создав 10 MPI процессов, в каждом процессе запустить 8 нитей
с лимитом времени 12 минут
$> mpisubmit.pl -p 10 -t 8 -w 00:12 a.out
a.out
на графической карте
$> mpisubmit.pl --gpu a.out
$> mpisubmit.pl --help