Sdílet prostřednictvím


MPI_Imrecv funkce

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

Syntaxe

int MPIAPI MPI_Imrecv(
  _Out_   void         *buf,
  _In_    int          count,
  _In_    MPI_Datatype datatype,
  _Inout_ MPI_Message  *message,
  _Out_   MPI_Request  *request
);

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 buf.

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

  • request [out]
    Při návratu obsahuje ukazatel na MPI_REQUEST popisovač představující komunikační operaci.

Vrácená hodnota

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

V nástroji Fortran je vrácená hodnota uložena v parametru IERROR .

Fortran

    MPI_IMRECV(BUF, COUNT, DATATYPE, MESSAGE, REQUEST, IERROR)
        <type> BUF(*)
        INTEGER COUNT, DATATYPE, MESSAGE, REQUEST, IERROR

Poznámky

Tato funkce je neblokující variantou MPI_Mrecv a spustí neblokující příjem odpovídající zprávy. Sémantika dokončení je podobná MPI_Irecv.

Při návratu z této funkce je popisovač zprávy nastavený na MPI_MESSAGE_NULL.

Pokud je tato funkce volána s argumentem zprávy MPI_MESSAGE_NO_PROC , volání se okamžitě vrátí s objektem požadavku, který po dokončení vynese objekt stavu nastavený na zdrojový = MPI_PROC_NULL, značku = MPI_ANY_TAG a počet = 0, jako by byl vydán příjem z MPI_PROC_NULL . Volání této funkce s MPI_MESSAGE_NULL je chybné.

Požadavky

Produkt

Microsoft MPI v6

Hlavička

Mpi.h; Mpif.h

Knihovna

Msmpi.lib

DLL

Msmpi.dll

Viz také

Funkce MPI typu point-to-point

MPI_Irecv

MPI_Mrecv

MPI_Mprobe

MPI_Improbe