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.
Kombinuje hodnoty ze všech procesů a distribuuje výsledek zpět do všech procesů neblokujícím způsobem.
Syntaxe
int MPIAPI MPI_Iallreduce(
_In_opt_ const void *sendbuf,
_Out_opt_ void *recvbuf,
_In_ int count,
_In_ MPI_Datatype datatype,
_In_ MPI_Op op,
_In_ MPI_Comm comm,
_Out_ MPI_Request *request
);
Parametry
sendbuf [in, volitelné]
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 zadané v parametrech count a datatype .Pokud parametr comm odkazuje na intrakomunikator, můžete zadat místní možnost zadáním MPI_IN_PLACE ve všech procesech. V tomto případě jsou vstupní data převzata při každém procesu z vyrovnávací paměti pro příjem, kde budou nahrazena výstupními daty.
recvbuf [out, volitelné]
Ukazatel na vyrovnávací paměť pro příjem výsledku operace redukce.count [in]
Počet prvků, které se mají z tohoto procesu odeslat.datový typ [v]
Datový typ každého prvku ve vyrovnávací paměti. Tento parametr musí být kompatibilní s operací, jak je uvedeno v parametru op .op [in]
Globální operace redukce, která se má provést. Popisovač může znamenat integrovanou operaci nebo operaci definovanou aplikací. Seznam předdefinovaných operací najdete v tématu MPI_Op.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_IALLREDUCE(SENDBUF, RECVBUF, COUNT, DATATYPE, OP, COMM, REQUEST, IERROR)
<type> SENDBUF(*), RECVBUF(*)
INTEGER COUNT, DATATYPE, OP, COMM, REQUEST, IERROR
Poznámky
Neblokující volání zahájí hromadnou operaci 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 můžou neblokující redukční operace zmírnit možné synchronizační účinky operací redukce jejich spuštěním na "pozadí".
Pro neblokující operace redukce se podporují všechna volání dokončení (např. MPI_Wait).
Požadavky
Produkt |
Microsoft MPI v7 |
Hlavička |
Mpi.h; Mpif.h |
Knihovna |
Msmpi.lib |
DLL |
Msmpi.dll |