MPI_Waitall 函数
完成多个未完成的操作。
语法
int MPIAPI MPI_Waitall(
int count,
_Inout_count_(count) MPI_Request *array_of_requests,
_Out_cap_(count) MPI_Status *array_of_statuses
);
参数
计数
array_of_requests 参数中的条目数。array_of_requests
未完成操作 的MPI_Request 句柄数组。array_of_statuses
描述已完成操作 的MPI_Status 对象的数组。 如果未请求状态信息,则可能会 MPI_STATUSES_IGNORE 。
返回值
返回成功 时MPI_SUCCESS 。 否则,返回值为错误代码。
如果一个或多个操作在错误中完成,则返回 MPI_ERR_IN_STATUS 。 失败操作的状态在 array_of_statuses 参数的相应条目中返回。
在 Fortran 中,返回值存储在 IERROR 参数中。
Fortran
MPI_WAITALL(COUNT, ARRAY_OF_REQUESTS, INDEX, STATUS, IERROR)
INTEGER COUNT, ARRAY_OF_REQUESTS, INDEX, STATUS(MPI_STATUS_SIZE), IERROR
注解
此函数是一个非本地操作,成功完成可能取决于其他进程中的匹配操作。
当 array_of_requests 数组中与活动请求关联的所有操作完成时,将返回 对 MPI_Waitall 的调用。 与持久通信操作关联的任何条目都会导致持久请求被标记为非活动。 其他操作将解除分配,并且其 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 |