Share via


MPI_Waitany 函数

完成多个未完成操作中的一个。

语法

int MPIAPI MPI_Waitany(
        int                              count,
        _Inout_count_(count) MPI_Request *array_of_requests,
  _Out_ int                              *index,
  _Out_ MPI_Status                       *status
);

参数

  • 计数
    array_of_requests 参数中的条目数。

  • array_of_requests
    未完成操作 的MPI_Request 句柄数组。

  • index [out]
    指向整数的指针,指示已完成的操作 的 array_of_requests 参数中的索引。 数组从 C 中的零索引,从 Fortran 中的 1 索引。

  • status [out]
    指向描述已完成操作 的 MPI_Status 对象的指针。

返回值

返回成功 时MPI_SUCCESS 。 否则,返回值为错误代码。

在 Fortran 中,返回值存储在 IERROR 参数中。

Fortran

    MPI_WAITANY(COUNT, ARRAY_OF_REQUESTS, INDEX, STATUS, IERROR)
        INTEGER COUNT, ARRAY_OF_REQUESTS, INDEX, STATUS(MPI_STATUS_SIZE), IERROR

注解

此函数是非本地操作。 成功完成可能取决于其他进程中的匹配操作。

此函数在完成 与 array_of_requests 参数中的活动请求关联的操作之一时返回。 如果已完成多个未完成的操作,则任意选择一个。 如果已完成的操作是永久性通信操作,则持久请求将标记为非活动。 非持久性操作已解除分配,并且其 array_of_requests 参数中的相应条目设置为 MPI_REQUEST_NULL

array_of_requests 参数中的条目可以MPI_REQUEST_NULL,也可以是非活动持久通信请求的句柄。 如果 count 参数为零,或者 array_of_requests 中的所有条目都是 MPI_REQUEST_NULL 或非活动的持久通信请求,则函数将立即返回 索引 参数设置为 MPI_UNDEFINED 且状态为空。

要求

产品

HPC Pack 2012 MS-MPI 可再发行程序包、HPC Pack 2008 R2 MS-MPI 可再发行程序包、HPC Pack 2008 MS-MPI 可再发行程序包或 HPC Pack 2008 客户端实用工具

标头

Mpi.h;Mpif.h

Msmpi.lib

DLL

Msmpi.dll

另请参阅

MPI 点到点函数

MPI_Testany

MPI_Wait

MPI_Waitall

MPI_Waitsome

MPI_Status