Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Az összes folyamat értékeit egyesíti, és az eredményt nem blokkoló módon osztja vissza az összes folyamatra.
Szintaxis
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
);
Paraméterek
sendbuf [in, nem kötelező]
A csoport összes folyamatának elküldendő adatokra mutató mutató. A puffer elemeinek számát és adattípusát a darabszám és az adattípus paraméterei határozzák meg.Ha a comm paraméter egy intrakommunikátorra hivatkozik, a MPI_IN_PLACE megadásával minden folyamathoz megadhat egy helyi beállítást. Ebben az esetben a bemeneti adatok minden folyamatnál a fogadó pufferből származnak, ahol azokat a kimeneti adatok váltják fel.
recvbuf [ki, nem kötelező]
Az egérmutató egy pufferre a csökkentési művelet eredményének fogadásához.count [in]
A folyamatból küldendő elemek száma.datatype [in]
A puffer egyes elemeinek adattípusa. Ennek a paraméternek kompatibilisnek kell lennie az op paraméterben megadott művelettel.op [in]
A végrehajtandó globális csökkentési művelet. A leíró egy beépített vagy alkalmazás által meghatározott műveletet jelezhet. Az előre definiált műveletek listáját lásd: MPI_Op.comm [in]
A MPI_Comm kommunikátor fogantyú.request [out]
A kommunikációs műveletet jelölő MPI_Request leíró.
Visszatérési érték
Sikeres MPI_SUCCESS ad vissza. Ellenkező esetben a visszatérési érték hibakód.
A Fortranban a visszatérési érték az IERROR paraméterben van tárolva.
Fortran
MPI_IALLREDUCE(SENDBUF, RECVBUF, COUNT, DATATYPE, OP, COMM, REQUEST, IERROR)
<type> SENDBUF(*), RECVBUF(*)
INTEGER COUNT, DATATYPE, OP, COMM, REQUEST, IERROR
Megjegyzések
A nem blokkoló hívás kollektív csökkentési műveletet kezdeményez, amelyet egy külön befejezési hívásban kell végrehajtani. A művelet a kezdeményezést követően a részt vevő folyamatokban végzett számításoktól vagy más kommunikációtól függetlenül is továbbhaladhat. Ily módon a nem blokkoló csökkentési műveletek a "háttérben" futtatva mérsékelhetik a csökkentési műveletek lehetséges szinkronizálási hatásait.
Minden befejezési hívás (például MPI_Wait) támogatott a nem blokkoló csökkentési műveletekhez.
Követelmények
Termék |
Microsoft MPI v7 |
Fejléc |
Mpi.h; Mpif.h |
Kódtár |
Msmpi.lib |
DLL |
Msmpi.dll |