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).
- Если процесс принадлежит различным коммуникаторам, он должен иметь уникальный ИД-ранг в каждом из них.