Поделиться через


функция MPI_Mrecv

Выполняет блокирующее получение сообщения, сопоставленного MPI_Mprobe или MPI_Improbe.

Синтаксис

int MPIAPI MPI_Mrecv(
  _Out_   void         *buf,
  _In_    int          count,
  _In_    MPI_Datatype datatype,
  _Inout_ MPI_Message  *message,
  _Out_   MPI_Status   *status
);

Параметры

  • buf [out]
    Указатель на адрес буфера получения.

  • count [in]
    Количество элементов типа данных в buf.

  • datatype [in]
    Тип данных MPI элементов в буферном массиве.

  • message [in, out]
    Содержит указатель на сообщение.

  • status [out]
    При возврате содержит указатель на MPI_Status структуру, в которой хранятся сведения о сообщении.

Возвращаемое значение

Возвращает MPI_SUCCESS при успешном выполнении. В противном случае возвращаемое значение представляет собой код ошибки.

В Fortran возвращаемое значение хранится в параметре IERROR .

Fortran

    MPI_MRECV(BUF, COUNT, DATATYPE, MESSAGE, STATUS, IERROR)
        <type> BUF(*)
        INTEGER COUNT, DATATYPE, MESSAGE, STATUS(MPI_STATUS_SIZE), IERROR

Комментарии

Эта функция получает сообщение, сопоставленное соответствующей операции пробы. Буфер получения состоит из хранилища, содержащего число последовательных элементов типа, заданного типом данных, начиная с адреса buf. Длина полученного сообщения должна быть меньше или равна длине буфера приема. Ошибка переполнения возникает, если все входящие данные не помещаются без усечения в буфер приема.

Если сообщение короче буфера получения, то изменяются только те расположения, которые соответствуют сообщению (короче).

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

Требования

Продукт

Microsoft MPI версии 6

Заголовок

Mpi.h; Mpif.h

Библиотека

Msmpi.lib

DLL

Msmpi.dll

См. также раздел

Функции "точка — точка" MPI

MPI_Mprobe

MPI_Improbe

MPI_Recv

MPI_Imrecv