В программе используются подпрограммы MPI_Comm_size и MPI_Comm_rank. Первая из них возвращает количество процессов, входящих в область взаимодействия, коммуникатор которой указан в качестве ее первого аргумента. Вторая подпрограмма определяет ранг процесса.
После раскрытия архива nt-mpich-1.3.0-a.zip на сетевом диске будет создан каталог NT-MPICH, структура которого была приведена выше (рис.4.3). На рисунке 4.5 раскрыто содержимое папки bin, в которой находятся исполняемые файлы пакета NT-MPICH и динамически подключаемые библиотеки, а также папка plugins (вставок) со специальными динамически подключаемыми библиотеками (Рисунок 4.6). В рассматриваемом пакете эта подборка представляет “интерфейс абстрактных устройств” (ADI – Abstract Device Interface). Устройствами являются наборы процедур, реализующих пересылку и прием пакетов с учетом конкретной архитектуры, чем и обеспечивается переносимость системы на различные платформы:
При разработке проекта параллельной программы связь NT-MPICH с уже существующими устройствами и системами обеспечивается благодаря подключению следующих вставок:
· ch_ntshmem предназначается для поддержки взаимодействия вычислительных процессов исключительно через общедоступную память;
· ch_smi обеспечивает взаимодействие в кластерах, использующих для межпроцессорной связи масштабируемый когерентный интерфейс SCI;
· ch_wsock поддерживает взаимодействия в многопроцессорных системах (SMP) и в сети автоматизированных рабочих мест;
· Mpi_pro предназначена для запуска программ, использующих пакет MPI/PRO компании MPI Software Technology;
· mpich_nt используется для запуска программ, которые были разработаны ANL (Аргонской лабораторией) для MPICH.NT.
Рисунок 4.5. Состав каталога bin
Рисунок 4.6. Состав подкаталога plugins
Во всех вставках, начинающихся с "ch_", при их компиляции были созданы свои динамически подключаемые библиотеки (DLLs), которые экспортируют все функции MPI, MPI-IO и MPE. В частности,вставка mpich_nt поставляет библиотеки mpich[_xxx].dll, где содержатся и функции привязки к C++. В дополнение к ним подключаются библиотеки CPP.lib или CPPd.lib, которые, в общем, являются версиями библиотеки отладки среды разработки. В настоящее время пакетом NT-MPICH пока не поддерживается интерфейс профилирования C++ для класса PMPI::… .
Кроме plugins, файлы, приведенные на рисунке К1, предназначены для решения нескольких специальных задач. Их имена представлены следующим перечнем:
cpi.exe |
rcluma.cpl |
mpe_server.dll |
rclumad.exe |
mpe_server_frontend.exe |
rcluma-install.bat |
mpiexec.exe |
rcluma-uninstall.bat |
ntrexec.exe |
rcluma-update.bat |
PSAPI.DLL |
RexecShell.exe |
Файл cpi.exe работает в среде MPICH и служит для запуска на платформе Linux простой тестирующей программы для 4 процессоров:
cd examples/basic
make cpi
../../bin/mpirun -np 4 cpi
Чтобы использовать средства регистрации существующего MPE-сервера, ориентированного на протокол X-Windows, разработчики поставили новую программу автономного сервера mpe_server_frontend, которая включает код mpe_server и использует его же библиотеки. Это сделано по той причине, что не все компьютеры, оснащенные операционными системами Windows, поддерживали упомянутый протокол графической регистрации. Новая программа позволяет отображать окна MPE, созданные распределенными прикладными программами. Программа сервера должна выполняться в узле, который должен отображать графический вывод. Так как в качестве механизма связи используется удаленный вызов процедур (RPC), то нет необходимости, чтобы отображающий процесс выполнялся на главном процессоре (процессоре разработки). Сервер MPE полностью независим от MPI связей. Семантика всех MPE графических функций была максимально сохранена, хотя никакой формальной спецификации их нет. Некоторые функции были изменены преднамеренно, например,MPE_Capture_file. Обычно снимок с экрана представляется в точечном формате .bmp и поэтому занимает большой объем памяти, который для пересылки изображений не используют. NT-MPICH позволяет выдать инструкцию MPE-серверу записать изображение на диск, используется префикс "server:" перед строковым параметром имени файла. Например, запрос
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.