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 |