Список основных функций приведен в приложении 3.
3.4.3. Базовая структура программы MPI
Общий формат вызовов MPI:
Format: | rc = MPI_Xxxxx(parameter, ... ) |
Example: | rc = MPI_Bsend(&buf,count,type,dest,tag,comm) |
Error code: | Returned as "rc". MPI_SUCCESS if successful |
Базовая структура программы MPI:
Коммуникаторы:
- Коммуникаторы и группы определяют наборы процессов, которые могут взаимодействовать друг с другом. Большинство функций MPI требуют определения коммуникатора в качестве аргумента: процессы взаимодействуют через коммуникатор.
- Наиболее общий пердопределенный комуникатор MPI_COMM_WORLD , который включает все MPI процессы[Livermore].
Рис.3.4.3.1.
Ранг(Rank):
- Внутри коммуникатора каждый процесс имеет уникальный идентификатор, назначаемый системой при инициализации процесса. Ранг зачастую рассматривается как ИД задания (task ID).
- Используется для определения источника и приемника сообщений. Часто используется в условиях для управления выполнением программы (if rank=0 do this / if rank=1 do that).
- Если процесс принадлежит различным коммуникаторам, он должен иметь уникальный ИД-ранг в каждом из них.
Начало и завершение среды выполнения MPI (execution environment)
Первая вызываемая функция MPI выполняет инициализацию среды выполнения MPI-программы.:
int MPI_Init( int *agrc, char ***argv );
Параметрами функции являются количество аргументов в командной строке и текст самой командной строки.
Последней вызываемой функцией MPI обязательно должна являться функция:
int MPI_Finalize(void);
Структура параллельной программы, разработанная с использованием MPI, имеет следующий вид:
Дата добавления: 2015-02-03; просмотров: 892;