Санкт-Петербургский государственный университет
Опубликован: 11.10.2012 | Доступ: свободный | Студентов: 955 / 173 | Длительность: 05:14:00
Лекция 2:

Программирование с использованием Intel MPI. Введение

< Лекция 1 || Лекция 2: 123 || Лекция 3 >

Компиляция и запуск программ в MPI-1. Файлы конфигурации

MPI-1

При запуске MPI-программ с использованием Remote Shell в ОС Linux следует создать файл .rhosts.

Пример:

f01.ptc.spbu.ru
f02.ptc.spbu.ru
f03.ptc.spbu.ru
f04.ptc.spbu.ru

Права доступа:

r w - - - - - - -

Файл machines:

Пример файла machines

f01.ptc.spbu.ru
f02.ptc.spbu.ru
f03.ptc.spbu.ru
f04.ptc.spbu.ru
fserver.ptc.spbu.ru:2

Трансляция

# mpicc -compile_info
cc -DUSE_STDARG -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 
-DHAVE_STDARG_H=1 -DUSE_STDARG=1 -DMALLOC_RET_VOID=1 -I/usr/local/mpich/include –c

# mpicc -link_info
cc -DUSE_STDARG -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 
-DHAVE_STDARG_H=1 -DUSE_STDARG=1 -DMALLOC_RET_VOID=1 -L/usr/local/mpich/lib –lmpich

# mpif77 -compile_info
f77 -I/usr/local/mpich/include –c

# mpif77 -link_info
f77 -L/usr/local/mpich/lib -lmpich

Выполнение

mpirun –np n [ключи MPI] программа [ключи и аргументы программы]

Некоторые ключи загрузчика приложений mpirun:

-arch "архитектура"

Архитектура параллельной вычислительной системы, которая должна соответствовать суффиксу в имени файла machines."архитектура"

-machinefile файл

Использовать список компьютеров из указанного файла

Компиляция и запуск программ в MPI-2. Демон mpd. Файлы конфигурации

MPI-2

Демон mpd

В MPI-2 демон mpd играет важную роль. Параллельная программа может выполняться только если предварительно были запущены демоны mpd, образующие "кольцо демонов". Он управляет выполнением процессов MPI-программы на данном вычислительном узле. Демоны запускаются от имени конкретных пользователей ОС и не оказывают влияния друг на друга.

Некоторые факты из жизни демонов:

  • Кольцо демонов создаётся один раз и может быть использовано многократно, разными программами одного пользователя.
  • Кольцо демонов прекращает свой существование в результате выполнения команды mpdallexit.
  • Кольцо демонов одного пользователя не может взаимодействовать с демонами mpd других пользователей.
  • Благодаря демонам mpd запуск MPI-программ выполняется быстрее.
  • Исключена возможность "зависания" процессов.

В программных реализациях MPI имеются средства управления работой демонов mpd. Запуску параллельной программы предшествует запуск демона mpd на всех узлах вычислительной системы. Демоны взаимодействуют друг с другом.

Запуск демонов (в этом примере 5) выполняется командой:

mpdboot –n 5

Проверка взаимодействия демонов между собой выполняется командой:

mpdtrace

Если при выполнении этой команды выводятся сообщения об ошибках, это говорит о неправильной настройке MPI или локальной сети.

Завершение работы демонов выполняется командой:

mpdallexit
Конфигурационный файл .mpd.conf Файл mpd.hosts
Пример файла .mpd.conf Пример файла .mpd.conf
MPD_SECRETWORD=kalosha
MPD_PORT_RANGE=1003:10003
pd00  ifhn=195.168.0.69
pd01  ifhn=192.168.0.74
pd02  ifhn=192.168.0.75
pd03  ifhn=192.168.0.76
pd04  ifhn=192.168.0.77
pd05
pd06
pd07

Запуск демонов

mpdboot –n число_демонов [ключи]

Запуск параллельной программы

mpiexec [ключи] –n число имя_исполняемого файла

Завершение работы всех демонов

mpdallexit

< Лекция 1 || Лекция 2: 123 || Лекция 3 >