Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Shromažďuje data ze všech členů skupiny a odesílá data všem členům skupiny neblokujícím způsobem.
Syntaxe
int MPIAPI MPI_Iallgather(
_In_opt_ const void *sendbuf,
_In_ int sendcount,
_In_ MPI_Datatype sendtype,
_Out_opt_ void *recvbuf,
_In_ int recvcount,
_In_ MPI_Datatype recvtype,
_In_ MPI_Comm comm,
_Out_ MPI_Request *request
);
Parametry
sendbuf [in, optional]
Ukazatel na data, která se mají odeslat všem procesům ve skupině. Počet a datový typ prvků ve vyrovnávací paměti jsou uvedeny v parametrech sendcount a sendtype . Každý prvek ve vyrovnávací paměti odpovídá procesu ve skupině.Pokud parametr comm odkazuje na intracommunicator, můžete zadat místní možnost zadáním MPI_IN_PLACE ve všech procesech. Parametry sendcount a sendtype se ignorují. Každý proces zadává data do odpovídajícího prvku vyrovnávací paměti pro příjem. N. proces odešle data do n. prvku vyrovnávací paměti pro příjem.
sendcount [in]
Počet prvků ve vyrovnávací paměti, který je zadán v parametru sendbuf . Pokud je hodnota sendcount nulová, je datová část zprávy prázdná.sendtype [in]
Datový typ MPI prvků ve vyrovnávací paměti pro odesílání.recvbuf [out, optional]
Ukazatel na vyrovnávací paměť, která obsahuje data přijatá z jednotlivých procesů. Počet a datový typ prvků ve vyrovnávací paměti jsou uvedeny v parametrech recvcount a recvtype .recvcount [in]
Počet prvků ve vyrovnávací paměti pro příjem. Pokud je počet nula, datová část zprávy je prázdná.recvtype [in]
Datový typ MPI prvků v vyrovnávací paměti pro příjem.comm [in]
Popisovač MPI_Comm komunikátoru.žádost [out]
Popisovač MPI_Request 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.
Ve Fortranu je vrácená hodnota uložena v parametru IERROR .
Fortran
MPI_IALLGATHER(SENDBUF, SENDCOUNT, SENDTYPE, RECVBUF, RECVCOUNT, RECVTYPE, COMM, REQUEST, IERROR)
<type> SENDBUF(*), RECVBUF(*)
INTEGER SENDCOUNT, SENDTYPE, RECVCOUNT, RECVTYPE, COMM, REQUEST, IERROR
Poznámky
Neblokující volání inicializuje operaci kolektivní redukce, která musí být dokončena v samostatném volání dokončení. Po zahájení může operace probíhat nezávisle na výpočtu nebo jiné komunikaci v zúčastněných procesech. Tímto způsobem mohou neblokující operace redukce zmírnit případné synchronizační účinky operací redukce jejich spouštěním na "pozadí".
Všechna volání dokončení (např. MPI_Wait) jsou podporována pro neblokující operace redukce.
Požadavky
Produkt |
Microsoft MPI v7 |
Hlavička |
Mpi.h; Soubor Mpif.h |
Knihovna |
Msmpi.lib |
DLL |
Msmpi.dll |