Udostępnij za pośrednictwem


MPI_Igather, funkcja

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).

  • root [in]
    Ranga procesu odbierania w MPI_Comm comm.

  • 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

Zobacz też

Funkcje zbiorowe MPI

MPI_Datatype

MPI_Gather

MPI_Test

MPI_Testall

MPI_Testany

MPI_Testsome

MPI_Wait

MPI_Waitall

MPI_Waitany

MPI_Waitsome