ПАРАЛЛЕЛЬНОЕ ПРОГРАММИРОВАНИЕ
81
shell$ mpirun –np m ./a.out
# где m – необходимое количество процессов
Если у Вас есть локальная сеть, то есть возможность запустить программу,
использующую MPI, на нескольких процессорах (для этого на каждом из них дол-
жен быть установлен LAM/MPI).
Для этого наберите следующую последовательность инструкций:
shell$ lamboot –v –ssi boot rsh hostfile
# где hostfile – файл без расширения, содержащий номера тех машин
в сети, на чьих
# процессорах будет запущена программа
# компиляция аналогично предыдущему случаю
shell$ mpicc file_name.c
# а запуск программы выглядит так
shell$ mpirun n0-m ./a.out
# где m - необходимое количество процессоров
Команды для работы с MPI-LAM
lamboot
Команда lamboot используется для запуска run-time окружения (Run-time Envi-
ronment RTE). Lamboot – комманда, запускаемая перед любой другой командой
LAM/MPI (исключения – компиляторы, которые не требуют Lam RTE, и mpiexec,
который может запустить свой собственный RTE). lamboot может использовать лю-
бой доступный модуль загрузки SSI.
Общие аргументы, используемые lamboot:
•
-
b
: Когда используется boot модуль rsh, “быстрый” boot алгоритм может
заметно ускорить время выполнения lamboot. Также может использоваться,
когда удаленные агенты shell не могут обеспечить вывод от удаленных уз-
лов (например, в среде Кондора). Спецификация, “быстрый” алгоритм
предполагает, что shell пользователя, где запущен lamboot и shell, на уда-
ленном узле совпадают.
•
-
d
: Печатает вывод debug (отладка). Если происходит ошибка во время вы-
полнения программы, на экран выводится стэк ошибок. Вывод направлен
по стандартному потоку такому же, как /tmp или syslog.
•
-l: Использует локальное имя хоста (localhost). Это полезно в средах, где
localhost дает доступ к IP внешних узлов (например, кластеры, основанные
Finite Neighborhood Networks).
Наиболее общий пример lamboot использует hostfile, для запуска MPI на всех
узлах кластера rsh/ssh:
shell$ lamboot −v −ssi boot rsh hostfile