MPI_Mprobe 函数

阻止消息探测。 提供一种机制,用于接收匹配的特定消息,而不考虑干预探测/接收操作。 匹配的消息将从接收队列中取消排队,使应用程序有机会根据匹配的探测操作返回的信息来决定如何接收消息。 然后使用 MPI_MrecvMPI_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 v6

标头

Mpi.h;Mpif.h

Msmpi.lib

DLL

Msmpi.dll

另请参阅

MPI 点到点函数

MPI_Improbe

MPI_Recv

MPI_Imrecv