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 |