Sdílet prostřednictvím


MPI_Rsend funkce

Provede operaci odeslání v připraveném režimu a vrátí zprávu, pokud lze vyrovnávací paměť pro odesílání bezpečně znovu použít.

Syntaxe

int MPIAPI MPI_Rsend(
  _In_opt_ void         *buf,
           int          count,
           MPI_Datatype datatype,
           int          dest,
           int          tag,
           MPI_Comm     comm
);

Parametry

  • buf [in, optional]
    Ukazatel na vyrovnávací paměť obsahující data, která mají být odeslána.

  • Počet
    Počet prvků ve vyrovnávací paměti. Pokud je datová část zprávy prázdná, nastavte parametr count na 0.

  • Datatype
    Datový typ prvků ve vyrovnávací paměti.

  • Dest
    Pořadí cílového procesu v rámci komunikátoru, které je určeno parametrem comm .

  • Značku
    Značka zprávy, kterou lze použít k rozlišení různých typů zpráv.

  • Komunikace
    Popisovač komunikátoru.

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_RSEND(BUF, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
        <type> BUF(*)
        INTEGER COUNT, DATATYPE, DEST, TAG, COMM, IERROR

Poznámky

Tato funkce není místní. Tato funkce se vrátí, jakmile bude možné znovu použít vyrovnávací paměť odesílání a nezávisí na stavu odpovídající operace příjmu. Úspěšné dokončení celkové operace odeslání ale závisí na existenci odpovídající operace příjmu.

Tuto funkci lze volat pouze v případě, že odpovídající operace příjmu je již zaúčtována. V opačném případě funkce vrátí chybu a její výsledek není definován. V některých systémech tento požadavek eliminuje část metody handshaking, která se používá v jiných režimech, a může zlepšit výkon v porovnání se standardními nebo synchronními operacemi odesílání.

Funkce MPI_Rsend má stejnou sémantiku jako funkce MPI_Send a MPI_Ssend , ale oznámí systému, že odpovídající příjem je již zaúčtován. Tato informace může ušetřit určitou režii. Proto by ve správném programu mohlo být připravené odeslání nahrazeno standardním odesláním, které nemá žádný vliv na chování programu kromě výkonu.

Požadavky

Produkt

HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package nebo HPC Pack 2008 Client Utilities

Hlavička

Mpi.h; Soubor Mpif.h

Knihovna

Msmpi.lib

DLL

Msmpi.dll

Viz také

Funkce MPI typu point-to-point

MPI_Send

MPI_Bsend

MPI_Ssend

MPI_Recv