Параллельное программирование: Учебное пособие, страница 86

Для вычислительных систем с разделяемой памятью SMI  (Shared Memory Interface) процедуру запуска прикладных задач и описание параметров запуска можно найти в документации, поставляемой вместе с NT-MPICH. 

4.14  Использование интерфейса профилирования

Для того, чтобы пользователям MPI описать собственное окружение для MPI-подпрограмм, необходимо каждую подпрограмму MPI_xxx вызывать с именем PMPI_xxx. Это позволяет пользователю получать собственную версию MPI подпрограмм, например, для создания журнала или вывода отладки. В NT-MPICH это достигнуто путем  экспортирования каждой функции из DLL с двумя различными именами. Таким образом, программы, написанные в C, могут непосредственно обращаться к подпрограммам из DLL по именам PMPI_xxx. Необходимо лишь связать выполняемую программу с замененными MPI_xxx подпрограммами и все должно работать, как определено.

Дистрибутив NT-MPICH содержит три типовые библиотеки: ampi.lib, lmpi.lib и tmpi.lib. Первая позволяет использовать графические возможности  MPE, чтобы показать анимированную графику, которая визуализирует модель связи прикладной программы. lmpi.lib использует MPE для создания журнала, в который записываются обращения функций MPI. Последняя библиотека позволяет напечатать лишь последовательность запросов MPI. Для использования библиотеки необходимо установить связь выполняемой программы с любой из названных. Если программа не использует замены обращений, то порядок связывания библиотек должен быть изменен. Например, компоновщик VC использует замену только тогда, когда библиотека трассировки помещается перед mpich_xxx.lib. Командная строка в этом случае должна напоминать:

link $(OBJS) -llmpi.lib -lmpich.lib <другие параметры>.

Представленный в разделе NT-MPICH\examples\Basic проект cpi.dsp показывает, как могут использоваться эти библиотеки. Пользователи, которые не используют MSVC, могут столкнуться с проблемами установления связи с этими библиотеками из-за использования функций stdio и особенно fprintf(). Поэтому дополнительно надо еще связать программу и с библиотекой поддержки Microsoft C, иначе ошибок связывания не избежать.

4.14.1  Специальные средства визуализации

MPICH дистрибутив укомплектован двумя JAVA-программами, которые обычно отображают MPE журналы. Jumpshot используется для визуализации CLOG файлов, а Jumpshot-3 – для визуализации файлов в новом формате SLOG. Обе программы работают на Windows NT с JDK (Java Development Kit – средство разработки JAVA).

Эти пакетные файлы полагаются на системную переменную JAVA_HOME, которая должна находить путь к корневой директории JDK (к среде выполнения), где может работать модуль виртуальной машины JVM (JAVA Virtual Machine): %JAVA_HOME%\bin\java. Jumpshot совместно с Microsoft Virtual machine не работает.

4.15  Вопросы и задания для самоконтроля

1.  Какие преследовались цели при разработке операционной среды программирования параллельных процессов под названием MPI?

2.  Назовите характерные особенности модели передачи сообщений.

3.  Какова структура и состав пакета NT-MPICH ориентированного на работу в операционной среде Windows?

4.  Какие объекты для программирования связи между параллельными процессами предусмотрены в MPI?

5.  Какие языки высокого уровня используются для программирования параллельных задач в пакете MPI и почему?

6.  Опишите структуру программы в среде MPI и перечислите процедуры, которые обязательно должны в программе присутствовать.

7.  Чем отличаются существующие реализации пакетов MPICH и NT-MPICH и на каких платформах они работают?

8.  Как осуществляется старт прикладных программ в пакете NT-MPICH?

9.  Опишите назначение файлов подкаталога ..\bin пакета NT-MPICH.

10.  Опишите состав и назначение вставок пакета NT-MPICH.

11.  Какие библиотеки можно подключать и для выполнения каких видов работ?


5  Обмен данными в MPI