функция MPI_Mprobe

Блокировка проб для сообщения. Предоставляет механизм для получения определенного сообщения, которое было сопоставлено, независимо от промежуточных операций проверки и получения. Соответствующее сообщение выводится из очереди получения, что дает приложению возможность решить, как получить сообщение на основе сведений, возвращенных операцией проверки сопоставления. Затем соответствующее сообщение получается с помощью функции MPI_Mrecv или MPI_Imrecv .

Синтаксис

int MPIAPI MPI_Mprobe(
  _In_  int         source,
  _In_  int         tag,
  _In_  MPI_Comm    comm,
  _Out_ MPI_Message *message,
  _Out_ MPI_Status  *status
);

Параметры

  • source [in]
    Исходный ранг или MPI_ANY_SOURCE.

  • tag [in]
    Тег сообщения или MPI_ANY_TAG.

  • comm [in]
    Дескриптор коммуникатора MPI.

  • message [out]
    При возврате содержит указатель на соответствующее сообщение.

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

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

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

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

Fortran

    MPI_MPROBE(SOURCE, TAG, COMM, MESSAGE, STATUS, IERROR)
          INTEGER SOURCE, TAG, COMM, MESSAGE, STATUS(MPI_STATUS_SIZE), IERROR

Комментарии

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

Требования

Продукт

Microsoft MPI версии 6

Заголовок

Mpi.h; Mpif.h

Библиотека

Msmpi.lib

DLL

Msmpi.dll

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

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

MPI_Improbe

MPI_Recv

MPI_Imrecv