Написание программы с использованием библиотеки MPI для нахождения максимального значения и его индекса из массива чисел
5

Процессы в MPI принадлежат группам. Если группа содержит n процессов, то процессы нумеруются внутри группы номерами, которые являются целыми числами от 0 до n-l. Имеется начальная группа, которой принадлежат все процессы в реализации MPI.

Понятия контекста и группы объединены в едином объекте, называемом коммуникатором. Таким образом, отправитель или получатель, определенные в операции посылки или получения, всегда обращается к номеру процесса в группе, идентифицированной данным коммуникатором.

В МPI базисной операцией посылки является операция:

MPI_Send (address, count, datatype, destination, tag, comm),

где (address, count, datatype) − количество (count) объектов типа datatype, начинающихся с адреса address в буфере посылки; destination – номер получателя в группе, определяемой коммуникатором comm; tag −целое число, используемое для описания сообщения; comm – идентификатор группы процессов и коммуникационный контекст.

Базисной операцией приема является операция:

MPI_Recv (address, maxcount, datatype, source, tag, comm, status),

где (address, count, datatype) описывают буфер приемника, как в случае MPI_Send; sourse – номер процесса-отправителя сообщения в группе, определяемой коммуникатором comm; status – содержит информацию относительно фактического размера сообщения, источникаи тэга. Sourse, tag, count фактически полученного сообщения восстанавливаются на основе status.

В MPI используются коллективные операции, которые можно разделить на два вида: