MPI_Waitsome 函式
完成數個未完成作業的一些作業。
語法
int MPIAPI MPI_Waitsome(
int incount,
_Inout_count_(incount) MPI_Request array_of_requests,
_Out_ int *outcount,
_Out_cap_post_count_(incount,*outcount) int *array_of_indices,
_Out_cap_post_count_(incount,*outcount) *array_of_statuses
);
參數
incount
array_of_requests 參數中的項目數目。array_of_requests
未完成作業 之MPI_Request 句柄的陣列。outcount [out]
已完成的要求數目。array_of_indices
完成之作業 array_of_requests 中的索引數位。 array_of_requests是從 C 中的零編製索引,以及從 Fortran 中的一個編製索引。array_of_statuses
已完成或 MPI_STATUSES_IGNORE之作業的狀態物件陣列。
傳回值
傳回成功 時MPI_SUCCESS 。 否則,傳回值是錯誤碼。
在 Fortran 中,傳回值會儲存在 IERROR 參數中。
Fortran
MPI_WAITSOME(INCOUNT, ARRAY_OF_REQUESTS, OUTCOUNT, ARRAY_OF_INDICES, ARRAY_OF_STATUSES, IERROR)
INTEGER INCOUNT, ARRAY_OF_REQUESTS(*), OUTCOUNT, ARRAY_OF_INDICES(*),
ARRAY_OF_STATUSES(MPI_STATUS_SIZE,*), IERROR
備註
索引的陣列位於 範圍0 到 incount - 1 代表 C,而範圍 1 到 Fortran 的 incount 中。
忽略 NULL 要求;如果所有要求都是 NULL,則例程會傳回 outcount 設為 MPI_UNDEFINED。
雖然可以在 array_of_requests中列出要求句柄多次,但這類動作會被視為錯誤,而且可能會導致程式意外終止或產生不正確的結果。
MPI_Waitsome 提供類似 Unix 'select' 或 'poll' 呼叫的介面,而且在高限定實作中,表示呼叫 MPI_Waitsome 時已完成的所有要求。 不過, MPI_Waitsome 只保證至少有一個要求已完成;不保證會傳回 所有 已完成的要求,或 array_of_indices 中的專案會依遞增順序遞增。 此外, 執行MPI_Waitsome 時完成的要求可能會傳回或可能不會傳回,視訊息完成的時間而定。
規格需求
產品 |
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 |