共用方式為


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

另請參閱

MPI 點對點函式

MPI_Mprobe

MPI_Improbe

MPI_Recv

MPI_Imrecv