MPI_Improbe 函数
以非阻止方式探测消息。 提供一种机制,用于接收匹配的特定消息,而不考虑干预探测/接收操作。 匹配的消息将从接收队列中取消排队,使应用程序有机会根据非阻塞匹配探测操作返回的信息来决定如何接收消息。 然后使用 MPI_Mrecv 或 MPI_Imrecv 函数接收匹配的消息。
语法
int MPIAPI MPI_Improbe(
_In_ int source,
_In_ int tag,
_In_ MPI_Comm comm,
_Out_ Int *flag,
_Out_ MPI_Message *message,
_Out_ MPI_Status *status
);
参数
source [in]
源排名或 MPI_ANY_SOURCE。tag [in]
消息标记或 MPI_ANY_TAG。comm [in]
MPI 通信器句柄。flag [out]
返回时,包含指向整数的指针,该整数指示是否匹配指定的 源、 标记和 通信 。 非零值指示参数匹配。message [out]
返回时,包含指向匹配消息的指针。status [out]
返回时,包含指向存储有关消息信息的 MPI_Status 结构的指针。
返回值
返回成功 时MPI_SUCCESS 。 否则,返回值为错误代码。
在 Fortran 中,返回值存储在 IERROR 参数中。
Fortran
MPI_IMPROBE(SOURCE, TAG, COMM, FLAG, MESSAGE, STATUS, IERROR)
INTEGER SOURCE, TAG, COMM, FLAG, MESSAGE, STATUS(MPI_STATUS_SIZE), IERROR
注解
如果存在可接收的消息并且与参数 source、tag 和 comm 指定的模式匹配,则此函数返回标志 = true。调用与调用在程序中的同一点执行的MPI_Recv收到的相同消息匹配,并在状态中返回MPI_Recv返回的相同值。 此外,它还在 消息 中返回匹配消息的句柄。 否则,调用将返回 标志 = false 并将 状态 和 消息 保留为未定义。
要求
产品 |
Microsoft MPI v6 |
标头 |
Mpi.h;Mpif.h |
库 |
Msmpi.lib |
DLL |
Msmpi.dll |