Составители:
Рубрика:
ду с номерами процессов 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
Страницы
- « первая
- ‹ предыдущая
- …
- 148
- 149
- 150
- 151
- 152
- …
- следующая ›
- последняя »