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.
Zbiera dane ze wszystkich członków grupy do jednego członka w sposób nieblokowy.
Składnia
int WINAPI MPI_Igather(
_In_ void *sendbuf,
int sendcount,
MPI_Datatype sendtype,
_Out_opt_ void *recvbuf,
_In_ int recvcount,
_In_ MPI_Datatype recvtype,
_In_ int root,
_In_ MPI_Comm comm,
_Out_ MPI_Request *request
);
Parametry
sendbuf [in]
Wskaźnik do buforu zawierającego dane do wysłania do katalogu głównego. Bufor składa się z kolejnych elementów MPI_Datatype wskazywanych przez uchwyt sendtype. Długość komunikatu jest określana pod względem liczby elementów, a nie liczby bajtów.sendcount
Liczba elementów sendtype w sendbuf. Jeśli wartość jest równa zero, część danych komunikatu jest pusta.sendtype
Uchwyt MPI_Datatype reprezentujący typ danych każdego elementu w sendbuf.recvbuf [out, optional]
Wskaźnik do buforu zawierającego dane odebrane z każdego procesu w katalogu głównym, w tym dane wysyłane przez proces główny (istotne tylko w katalogu głównym). Recvbuf buforu odbierania jest ignorowany dla wszystkich procesów innych niż główne. W procesie głównym recvbuf składa się z recvcount kolejnych elementów MPI_Datatype wskazywanych przez uchwyt recvtype . Długość komunikatu jest określana pod względem liczby elementów, a nie liczby bajtów.recvcount [in]
Liczba elementów recvtype w recvbuf. Jeśli wartość jest równa zero, część danych komunikatu jest pusta (znacząca tylko w katalogu głównym).recvtype [in]
Uchwyt MPI_Datatype reprezentujący typ danych każdego elementu w recvbuf (znaczący tylko w katalogu głównym).comm [in]
Uchwyt komunikatora MPI_Comm .request [out]
Uchwyt MPI_Request reprezentujący 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_IGATHER(SENDBUF, SENDCOUNT, SENDTYPE, RECVBUF, RECVCOUNT, RECVTYPE,
ROOT, COMM, REQUEST, IERROR)
<type> SENDBUF(*), RECVBUF(*)
INTEGER SENDCOUNT, SENDTYPE, RECVCOUNT, RECVTYPE, ROOT, COMM, REQUEST, IERROR
Uwagi
Wywołanie nieblokacyjne inicjuje zbiorczą operację zbierania, 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 operacje zbierania nieblokujące mogą ograniczyć możliwe zsynchronizowanie efektów operacji zbierania, uruchamiając je w "tle".
Wszystkie wywołania ukończenia (np. MPI_Wait) są obsługiwane w przypadku operacji zbierania nieblokujących.
Wymagania
Produkt |
Microsoft MPI v6 |
Nagłówek |
Mpi.h; Mpif.h |
Biblioteka |
Msmpi.lib |
DLL |
Msmpi.dll |