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 do jednoho člena neblokujícím způsobem.
Syntaxe
int WINAPI MPI_Igather(
_In_ void *sendbuf,
int sendcount,
MPI_Datatype sendtype,
_Out_opt_ void *recvbuf,
_In_ int recvcount,
_In_ MPI_Datatype recvtype,
_In_ int root,
_In_ MPI_Comm comm,
_Out_ MPI_Request *request
);
Parametry
sendbuf [in]
Ukazatel na vyrovnávací paměť obsahující data, která se mají odeslat do kořenového adresáře. Vyrovnávací paměť se skládá z po sobě jdoucích prvků sendcount MPI_Datatype označených popisovačem sendtype . Délka zprávy je určena počtem prvků, nikoli počtem bajtů.sendcount
Počet elementů typu sendtype v sendbuf. Pokud je hodnota nula, datová část zprávy je prázdná.sendtype
Popisovač MPI_Datatype představující datový typ každého prvku v sendbuf.recvbuf [out, volitelné]
Ukazatel na vyrovnávací paměť obsahující data přijatá z jednotlivých procesů v kořenovém adresáři, včetně dat odeslaných kořenovým procesem (významná pouze v kořenovém adresáři). Recvbuf vyrovnávací paměti pro příjem se ignoruje pro všechny procesy, které nejsou kořeny. V kořenovém procesu se recvbuf skládá z po sobě jdoucích prvků recvcountMPI_Datatype označených úchytem recvtype . Délka zprávy je určena počtem prvků, nikoli počtem bajtů.recvcount [in]
Počet prvků recvtype v recvbuf. Pokud je hodnota nula, datová část zprávy je prázdná (důležitá je pouze v kořenovém adresáři).recvtype [in]
Popisovač MPI_Datatype představující datový typ každého prvku v recvbuf (významný pouze v kořenovém adresáři).root [v]
Pořadí procesu příjmu v MPI_Commcomm.comm [in]
Popisovač MPI_Comm communicatoru.request [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.
V nástroji Fortran je vrácená hodnota uložena v parametru IERROR .
Fortran
MPI_IGATHER(SENDBUF, SENDCOUNT, SENDTYPE, RECVBUF, RECVCOUNT, RECVTYPE,
ROOT, COMM, REQUEST, IERROR)
<type> SENDBUF(*), RECVBUF(*)
INTEGER SENDCOUNT, SENDTYPE, RECVCOUNT, RECVTYPE, ROOT, COMM, REQUEST, IERROR
Poznámky
Neblokující volání inicializuje operaci hromadného shromažďování, 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. Neblokující operace shromažďování tak můžou zmírnit možné synchronizační účinky operací shromažďování tím, že je spustí na "pozadí".
Pro neblokující operace shromažďování se podporují všechna volání dokončení (např. MPI_Wait).
Požadavky
Produkt |
Microsoft MPI v6 |
Hlavička |
Mpi.h; Mpif.h |
Knihovna |
Msmpi.lib |
DLL |
Msmpi.dll |