Алгоритмы параллельных вычислений и программирование. Бурова И.Г - 150 стр.

UptoLike

ду с номерами процессов 0, 1, . . . , n 1, где n число процессов,
определяемых при инициализации системы. При завершении ис-
пользования MPI в программе должна быть вызвана процедура
MPI_FINALIZE; вызов этой процедуры обязателен для правильной
работы программы.
Следует представлять себе ситуацию таким образом, что рас-
сматриваемая программа скопирована во все модули параллельной
системы. Прокомментируем программу, представленную выше (см.
Листинг 1):
строка 1 не нуждается в объяснении;
— строка 2 подключает библиотеку процедур MPI под име-
нем mpif.h, в которой содержатся такие процедуры, как MPI_INIT,
MPI_COMM_WORLD, MPI_FINALIZE и другие (см. список процедур ни-
же);
строка 3 вызывает MPI_INIT для инициализации MPI;
строка 4 возвращает число процессов nprocs, принадлежа-
щих коммуникатору MPI_COMM_WORLD;
строка 5 возвращает ранг (номер) myrank процесса внутри
стандартной коммуникационной среды данном случае абстракт-
но его можно представлять как номер вычислительного модуля, на
котором происходит данный процесс);
строка 6 производит распечатку вычисленных параметров
nprocs и myrank для данного процесса (в данном случае можно
представлять себе дело таким образом, что каждый вычислитель-
ный модуль параллельной системы имеет свой принтер, на котором
и производится распечатка); в результате каждый вычислительный
модуль сообщит номер процесса, которым он занят;
строка 7 вызывает процедуру MPI_FINALIZE, завершающую
работу с библиотекой MPI (вызов ее обязателен и после ее вызова
взаимодействие с MPI невозможно).
Приведенные комментарии дают определенное представление о
работе процедур MPI_INIT, MPI_COMM_WORLD, MPI_FINALIZE, а так-
же процедур MPI_COMM_SIZE, MPI_COMM_RANK; более подробные их
описания будут даны дальше.
151