MPI_Mrecv 函式
針對MPI_Mprobe或MPI_Improbe相符的訊息執行封鎖接收。
語法
int MPIAPI MPI_Mrecv(
_Out_ void *buf,
_In_ int count,
_In_ MPI_Datatype datatype,
_Inout_ MPI_Message *message,
_Out_ MPI_Status *status
);
參數
buf [out]
接收緩衝區位址的指標。count [in]
buf中的資料類型專案數目。資料類型 [in]
緩衝區陣列中專案的 MPI 資料類型。訊息 [in, out]
包含訊息的指標。status [out]
傳回時,包含儲存訊息相關資訊 之MPI_Status 結構的指標。
傳回值
傳回成功 時MPI_SUCCESS 。 否則,傳回值是錯誤碼。
在 Fortran 中,傳回值會儲存在 IERROR 參數中。
Fortran
MPI_MRECV(BUF, COUNT, DATATYPE, MESSAGE, STATUS, IERROR)
<type> BUF(*)
INTEGER COUNT, DATATYPE, MESSAGE, STATUS(MPI_STATUS_SIZE), IERROR
備註
此函式會接收相符探查作業所比對的訊息。 接收緩衝區是由包含datatype所指定類型之連續元素的儲存體所組成,從位址buf開始。 接收訊息的長度必須小於或等於接收緩衝區的長度。 如果所有傳入的資料都不符合接收緩衝區的截斷,就會發生溢位錯誤。
如果訊息比接收緩衝區短,則只會修改對應至 (較短) 訊息的位置。
從此函式傳回時,訊息控制碼會設定為 MPI_MESSAGE_Null。 執行此作業期間發生的所有錯誤,都會根據產生訊息控制碼之相符探查呼叫中使用的錯誤處理常式集來處理
規格需求
產品 |
Microsoft MPI v6 |
標頭 |
Mpi.h;Mpif.h |
媒體櫃 |
Msmpi.lib |
DLL |
Msmpi.dll |