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.
Globális csökkentési műveletet hajt végre (például összeg, maximális vagy logikai és) a csoport összes tagja számára, nem blokkoló módon.
Szintaxis
int MPIAPI MPI_Ireduce(
_In_ void *sendbuf,
_Out_opt_ void *recvbuf,
_In_ int count,
_In_ MPI_Datatype datatype,
_In_ MPI_Op op,
_In_ int root,
_In_ MPI_Comm comm,
_Out_ MPI_Request *request
);
Paraméterek
sendbuf [in]
Egy olyan pufferre mutató mutató, amely az ebből a rangsorból származó adatokat tartalmazza a csökkentéshez használandó adatokkal. A puffer a adattípus leíró által jelzett MPI_Datatype egymást követő elemeinek darabszámából áll. Az üzenet hosszát az elemek száma, nem a bájtok száma határozza meg.recvbuf [ki, nem kötelező]
Az egérmutató egy pufferre a csökkentési művelet eredményének fogadásához. Ez a paraméter csak a gyökérfolyamatban jelentős.darabszám [in]
A folyamatból küldendő elemek száma.adattípus [in]
A MPI_Datatypesendbufegyes elemeinek adattípusát jelképező leíró.op [in]
A MPI_Op leíró, amely a végrehajtandó globális csökkentési műveletet jelzi. 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 a MPI_Op témakör tartalmazza.gyökér [in]
A fogadó folyamat rangja a MPI_Commcomm.comm [in]
A MPI_Comm kommunikátor leírója.kérelem [ki]
A kommunikációs műveletet jelképező MPI_Request leíró.
Visszaadott é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_IREDUCE(SENDBUF, RECVBUF, COUNT, DATATYPE, OP, ROOT, COMM, REQUEST, IERROR)
<type> SENDBUF(*), RECVBUF(*)
INTEGER COUNT, DATATYPE, OP, ROOT, COMM, REQUEST, IERROR
Megjegyzések
A nem blokkoló hívások közös csökkentési műveletet kezdeményeznek, amelyet külön befejezési felhívásban kell végrehajtani. A kezdeményezést követően a művelet a részt vevő folyamatokban végzett számításoktól vagy egyéb 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 v6 |
Fejléc |
Mpi.h; Mpif.h |
Könyvtár |
Msmpi.lib |
DLL |
Msmpi.dll |