Sdílet prostřednictvím


MPI_Mrecv funkce

Provede blokující přijetí zprávy odpovídající MPI_Mprobe nebo MPI_Improbe.

Syntaxe

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

Parametry

  • buf [out]
    Ukazatel na adresu vyrovnávací paměti pro příjem.

  • count [in]
    Počet prvků datového typu v buf.

  • datový typ [v]
    Datový typ MPI prvků v poli vyrovnávací paměti.

  • zpráva [in, out]
    Obsahuje ukazatel na zprávu.

  • status [out]
    Při vrácení obsahuje ukazatel na strukturu MPI_Status , kde jsou uloženy informace o zprávě.

Vrácená hodnota

Vrátí MPI_SUCCESS při úspěchu. V opačném případě je návratovou hodnotou kód chyby.

Ve Fortranu je vrácená hodnota uložena v parametru IERROR .

Fortran

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

Poznámky

Tato funkce obdrží zprávu odpovídající odpovídající operaci sondy. Vyrovnávací paměť pro příjem se skládá z úložiště obsahujícího počet po sobě jdoucích prvků typu určeného datovým typem počínaje adresou buf. Délka přijaté zprávy musí být menší než nebo rovna délce vyrovnávací paměti pro příjem. K chybě přetečení dojde, pokud se všechna příchozí data nevejdou bez zkrácení do vyrovnávací paměti pro příjem.

Pokud je zpráva kratší než vyrovnávací paměť pro příjem, změní se pouze umístění odpovídající (kratší) zprávě.

Při návratu z této funkce je popisovač zprávy nastaven na MPI_MESSAGE_NULL. Všechny chyby, ke kterým dojde během provádění této operace, se zpracovávají podle obslužné rutiny chyby nastavené pro komunikátor použitý v odpovídajícím volání sondy, které vytvořilo popisovač zprávy.

Požadavky

Produkt

Microsoft MPI v6

Hlavička

Mpi.h; Soubor Mpif.h

Knihovna

Msmpi.lib

DLL

Msmpi.dll

Viz také

Funkce MPI typu point-to-point

MPI_Mprobe

MPI_Improbe

MPI_Recv

MPI_Imrecv