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.
Łączy wartości ze wszystkich procesów i dystrybuuje wynik z powrotem do wszystkich procesów.
Składnia
int MPIAPI MPI_Allreduce(
_In_opt_ const void *sendbuf,
_Out_opt_ void *recvbuf,
_In_ int count,
_In_ MPI_Datatype datatype,
_In_ MPI_Op op,
_In_ MPI_Comm comm
);
Parametry
sendbuf [in, opcjonalnie]
Wskaźnik do danych, które mają być wysyłane do wszystkich procesów w grupie. Liczba i typ danych elementów w buforze są określone w parametrach count i datatype.Jeśli parametr comm odwołuje się do wewnątrzpolecenia, można określić opcję w miejscu, określając MPI_IN_PLACE we wszystkich procesach. W takim przypadku dane wejściowe są pobierane w każdym procesie z buforu odbierania, gdzie zostaną zastąpione danymi wyjściowymi.
recvbuf [out, opcjonalnie]
Wskaźnik do buforu w celu otrzymania wyniku operacji redukcji. Ten parametr jest znaczący tylko w procesie głównym.count [in]
Liczba elementów do wysłania z tego procesu.typ danych [in]
MPI_Datatype każdego elementu w buforze. Ten parametr musi być zgodny z operacją określoną w parametrze op .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 MPI_Op.comm [in]
Uchwyt komunikatora MPI_Comm .
Wartość zwracana
Zwraca MPI_SUCCESS po powodzeniu. W przeciwnym razie zwracana wartość jest kodem błędu.
W fortran wartość zwracana jest przechowywana w parametrze IERROR .
Fortran
MPI_ALLREDUCE(SENDBUF, RECVBUF, COUNT, DATATYPE, OP, COMM, IERROR)
<type> SENDBUF(*), RECVBUF(*)
INTEGER COUNT, DATATYPE, OP, COMM, IERROR
Uwagi
Jeśli comm jest interpolenicatorem, wynik redukcji danych dostarczanych przez procesy w grupie A jest przechowywany w każdym procesie w grupie B i na odwrót. Obie grupy powinny podać argumenty count i datatype , które określają podpis tego samego typu.
Wszystkie wywołania uzupełniania (np. MPI_Wait) są obsługiwane w przypadku operacji redukcji nieblokujących.
Wymagania
Produkt |
Pakiet redystrybucyjny HPC Pack 2012 MS-MPI, pakiet redystrybucyjny HPC Pack 2008 R2 MS-MPI, pakiet redystrybucyjny HPC Pack 2008 MS-MPI lub narzędzia klienckie HPC Pack 2008 |
Nagłówek |
Mpi.h; Mpif.h |
Biblioteka |
Msmpi.lib |
DLL |
Msmpi.dll |