Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Wykonuje globalną operację redukcji (na przykład sumę, maksymalną lub logiczną) we wszystkich członkach grupy w sposób nieblokcyjny.
Składnia
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
);
Parametry
sendbuf [in]
Wskaźnik do buforu zawierającego dane z tej rangi do użycia w redukcji. Bufor składa się z liczby kolejnych elementów MPI_Datatype wskazywanych przez dojście typu danych. Długość komunikatu jest określana pod względem liczby elementów, a nie liczby bajtów.recvbuf [out, optional]
Wskaźnik do buforu w celu otrzymania wyniku operacji redukcji. Ten parametr jest znaczący tylko w procesie głównym.liczba [in]
Liczba elementów do wysłania z tego procesu.typ danych [in]
Dojście MPI_Datatype reprezentujące typ danych każdego elementu w sendbuf.op [in]
Uchwyt MPI_Op wskazujący operację redukcji globalnej do wykonania. Uchwyt może wskazywać wbudowaną lub zdefiniowaną przez aplikację operację. Aby uzyskać listę wstępnie zdefiniowanych operacji, zobacz temat MPI_Op.katalogu głównego [in]
Ranga procesu odbierania w MPI_Commcomm.comm [in]
Uchwyt komunikatora MPI_Comm.żądanie [out]
Dojście MPI_Request reprezentujące operację komunikacji.
Wartość zwracana
Zwraca MPI_SUCCESS powodzenia. W przeciwnym razie wartość zwracana jest kodem błędu.
W fortran wartość zwracana jest przechowywana w parametrze IERROR.
Fortran
MPI_IREDUCE(SENDBUF, RECVBUF, COUNT, DATATYPE, OP, ROOT, COMM, REQUEST, IERROR)
<type> SENDBUF(*), RECVBUF(*)
INTEGER COUNT, DATATYPE, OP, ROOT, COMM, REQUEST, IERROR
Uwagi
Wywołanie nieblokacyjne inicjuje zbiorczą operację redukcji, która musi zostać ukończona w osobnym wywołaniu ukończenia. Po zainicjowaniu operacja może przebiegać niezależnie od obliczeń lub innej komunikacji w uczestniczących procesach. W ten sposób nieblokacyjne operacje redukcji mogą ograniczyć możliwe synchronizowanie skutków operacji redukcji, uruchamiając je w "tle".
Wszystkie wywołania ukończenia (np. MPI_Wait) są obsługiwane w przypadku operacji redukcji nieblokujących.
Wymagania
Produkt |
Microsoft MPI v6 |
Nagłówek |
Mpi.h; Mpif.h |
Biblioteka |
Msmpi.lib |
DLL |
Msmpi.dll |
Zobacz też