Запуск программ Python MPI в Sun Grid Engine - PullRequest
3 голосов
/ 02 февраля 2012

Я кодировал довольно простые программы MPI на C. Я не очень хорош в C, но довольно уверен в Python.Я узнал, что у Python есть привязки MPI.Я использую Sun Grid Engine в качестве DRMS ​​(распределенной системы управления ресурсами).Прежде чем перейти к Python MPI, я хотел бы узнать, можно ли отправить программу Python MPI в Sun Grid Engine, чтобы использовать все доступные распределенные процессоры системы.

Итак, можно ли отправитьMPI-программа на Python для Sun Grid Engine?

1 Ответ

2 голосов
/ 02 февраля 2012

Да, это возможно и ничем не отличается от запуска скомпилированного кода MPI с mpirun.Все обычно кавает о том, что исполняемый файл, библиотеки и вспомогательные файлы, необходимые вашему коду для запуска на каждом узле, применяются в равной степени к python и к скомпилированному приложению MPI.

Сам Grid Engine (или, по крайней мере, пре-Oracle)(коммерческие версии, которые я использовал) ничего не знает о MPI, per se , поэтому после того, как вы получили распределение слотов от менеджера ресурсов, вашему сценарию задания SGE, вероятно, потребуется создать собственный файл компьютера(или запустите сценарий запуска) для запуска и выполните любые другие заклинания, необходимые для подготовки узлов, которые будут выполнять ваш код для выполнения.В старых вики и списках рассылки SGE было много полезных примеров настройки машинного файла MPI в работающем скрипте задания SGE.Внутренние детали этого почти полностью зависят от типа MPI и, в основном, не зависят от SGE, поэтому немного сложно предоставить подробности, но, наконец, команда для запуска приложения Python в файле задания может быть такой простой, как

mpirun <options here> python yourapp.py

или

mpirun <options here> yourapp.py

, если yourapp.py имеет права на исполняемый файл и подходящую строку shebang .Я запустил несколько довольно больших mpi4py приложений с MPICH2 и SGE, без труда выполняя последнее.

...