MPI_Imrecv 函式
針對MPI_Mprobe或MPI_Improbe相符的訊息執行非封鎖接收。
語法
int MPIAPI MPI_Imrecv(
_Out_ void *buf,
_In_ int count,
_In_ MPI_Datatype datatype,
_Inout_ MPI_Message *message,
_Out_ MPI_Request *request
);
參數
buf [out]
接收緩衝區位址的指標。count [in]
buf中的資料類型專案數目。資料類型 [in]
buf中專案的 MPI 資料類型。訊息 [in, out]
包含訊息的指標。要求 [out]
傳回時,包含代表通訊作業 之MPI_REQUEST 控制碼的指標。
傳回值
傳回成功 時MPI_SUCCESS 。 否則,傳回值是錯誤碼。
在 Fortran 中,傳回值會儲存在 IERROR 參數中。
Fortran
MPI_IMRECV(BUF, COUNT, DATATYPE, MESSAGE, REQUEST, IERROR)
<type> BUF(*)
INTEGER COUNT, DATATYPE, MESSAGE, REQUEST, IERROR
備註
此函式是 MPI_Mrecv 的非封鎖變體,會啟動相符訊息的非封鎖接收。 完成語意類似于 MPI_Irecv。
從此函式傳回時,訊息控制碼會設定為 MPI_MESSAGE_Null。
如果使用MPI_MESSAGE_NO_PROC呼叫此函式做為訊息引數,則呼叫會立即傳回要求物件,當完成時,將會產生狀態物件設定為來源 = MPI_PROC_Null、標記 = MPI_ANY_TAG,以及count = 0,就像發出來自MPI_PROC_Null的接收一樣。 對具有 MPI_MESSAGE_Null 之此函式的呼叫錯誤。
規格需求
產品 |
Microsoft MPI v6 |
標頭 |
Mpi.h;Mpif.h |
媒體櫃 |
Msmpi.lib |
DLL |
Msmpi.dll |