funktionen MPI_Mrecv

Utför en blockerande mottagning för ett meddelande som matchas av MPI_Mprobe eller MPI_Improbe.

Syntax

int MPIAPI MPI_Mrecv(
  _Out_   void         *buf,
  _In_    int          count,
  _In_    MPI_Datatype datatype,
  _Inout_ MPI_Message  *message,
  _Out_   MPI_Status   *status
);

Parametrar

  • buf [ut]
    En pekare till adressen till mottagningsbufferten.

  • count [in]
    Antalet datatypelement i buf.

  • datatype [in]
    MPI-datatypen för elementen i buffertmatrisen.

  • message [in, out]
    Innehåller en pekare till meddelandet.

  • status [out]
    Vid retur innehåller en pekare till en MPI_Status struktur där information om meddelandet lagras.

Returvärde

Returnerar MPI_SUCCESS vid lyckat resultat. Annars är returvärdet en felkod.

I Fortran lagras returvärdet i parametern IERROR .

Fortran

    MPI_MRECV(BUF, COUNT, DATATYPE, MESSAGE, STATUS, IERROR)
        <type> BUF(*)
        INTEGER COUNT, DATATYPE, MESSAGE, STATUS(MPI_STATUS_SIZE), IERROR

Kommentarer

Den här funktionen tar emot ett meddelande som matchas av en matchande avsökningsåtgärd. Mottagningsbufferten består av lagringen som innehåller antal efterföljande element av den typ som anges av datatypen, med början vid adressen buf. Längden på det mottagna meddelandet måste vara mindre än eller lika med längden på mottagningsbufferten. Ett spillfel uppstår om alla inkommande data inte får plats, utan trunkering, i mottagningsbufferten.

Om meddelandet är kortare än mottagningsbufferten ändras endast de platser som motsvarar (kortare) meddelandet.

Vid retur från den här funktionen är meddelandehandtaget inställt på MPI_MESSAGE_NULL. Alla fel som inträffar under körningen av den här åtgärden hanteras enligt felhanteraruppsättningen för den kommunikatör som används i det matchande avsökningsanropet som skapade meddelandehandtaget

Krav

Produkt

Microsoft MPI v6

Huvud

Mpi.h; Mpif.h

Bibliotek

Msmpi.lib

DLL

Msmpi.dll

Se även

MPI punkt-till-punkt-funktioner

MPI_Mprobe

MPI_Improbe

MPI_Recv

MPI_Imrecv