Для упрощения процесса постановки задач, написанных с использованием стандарта 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