Оригинальный дистрибутив MPICH, начиная с версии MPICH 1.2, благодаря разработчикам ANL (Аргонской Национальной Лабораторией) начал поддерживать Windows NT. Дистрибутив ANL MPICH.NT и более совершенный NT-MPICH были разработаны под Windows NT 4.0 SP6 для сред программирования Visual C++ 6.0 и Fortran Power Station 4.0, устанавливаемых на машинах x86. NT-MPICH показал свою нормальную работу на машинах с любой версией Windows 2000, Windows XP professional и .NET сервер.
Статические библиотеки, поставляемы с NT-MPICH, их связывание и компилирование исходных файлов выполняются в среде разработки VC++ 6.0 или в ее более поздних версиях. Некоторые библиотечные подпрограммы MPI используют мультимедийные команды Intel MMX и сообщения командной строки в синтаксисе MS-DOS. Поэтому, чтобы компилировать эти коды, на компьютере должен быть установлен Visual C++ Processor Pack [http://msdn.microsoft.com/vstudio/downloads/ppack]. Для успешной трансляции заголовочных файлов и/или библиотек необходимо загрузить последнюю версию Microsoft Platform SDK (Software Development Kit – комплект программных средств разработки) [http://www.microsoft.com/msdownload/platformsdk/setuplauncher.htm].
NT-MPICH снабжает пользователя, как двоичным, так и исходным дистрибутивами. Исходный дистрибутив может использоваться для создания собственного двоичного дистрибутива с помощью компилирующей среды Microsoft Visual C++ версии 6.0. Для поддержки будущих модификаций пакета разработчики рекомендуют двоичный дистрибутив раскрывать в каталоге MPI_ROOT, в котором будет создан каталог с именем nt-mpich. Это связано с тем, что инсталляция двоичного дистрибутива у разработчика выполнялась путем вызова пакетного файла MPI_ROOT\make_dist.bat, который копировал все нужные исполняемые файлы (binaries), библиотеки, файлы для включения и примеры в каталог с таким же именем.
bin – исполняемые файлы;
doc – руководство по установке;
examples – исходные тексты примеров;
include – раздел заголовочных файлов;
jumpshot – визуализация CLOG файлов;
jumpshot-3 – визуализация SLOG файлов;
lib – файлы двоичных библиотек;
profiling – файлы профилирования;
slog_api – файлы чтения и записи API;
www – синтаксис подпрограмм MPI;
Рисунок 4.3.
Среди множества подпрограмм MPI можно выделить 6, которые используются практически в любой параллельной программе:
1) MPI_Init(int *argc, char **argv) – подключение к MPI. Аргументы argc и argv требуются только в программах на С, где они при запуске программы задают количество аргументов в командной строке и вектор этих аргументов. Данный вызов предшествует всем прочим вызовам подпрограмм MPI.
2) MPI_Finalize() – завершение работы с MPI. После вызова данной подпрограммы нельзя вызывать подпрограммы MPI. MPI_Finalize должны вызывать все процессы перед завершением своей работы.
3) MPI_Comm_size(comm, size) – определение размера области взаимодействия. Здесь comm – входной параметр, задающий имя коммуникатору, а выходным является параметр целого типаsize, определяющий количество процессов в области взаимодействия.
4) MPI_Comm_rank(comm, pid) – определение номера (ранга) процесса. Здесь pid – идентификатор процесса, связываемый с областью взаимодействия, принадлежащей коммуникатору comm.
5) MPI_Send(buf, count, datatype, dest, tag, comm) – отправка сообщения. Все параметры являются входными: buf – адрес буфера отправки, count – количество пересылаемых элементов данных (неотрицательное целое значение), datatype – тип пересылаемых данных, tag – тег сообщения (целое значение), comm – коммуникатор.
6) MPI_Recv(buf, count, datatype, source, tag, comm, status) – приемcoобщения. Выходные параметры: buf – адрес получающего буфера, и status– статус завершения операции; входные параметры: source – идентификатор процесса, от которого получают сообщение, а все остальные имеют назначение, аналогичное параметрам MPI_Send(…).
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.