Udostępnij za pośrednictwem


MPI_Get_accumulate, funkcja

Wykonuje niepodzielne operacje odczytu i modyfikowania zapisu i zwraca dane przed operacją akumulowania.

Składnia

int MPIAPI MPI_Get_accumulate(
  _In_  void         *origin_addr,
        int          origin_count,
        MPI_Datatype origin_datatype,
  _Out_ void         *result_addr,
        int          result_count,
        MPI_Datatype result_datatype,
        int          target_rank,
        MPI_Aint     target_disp,
        int          target_count,
        MPI_Datatype datatype,
        MPI_Op       op,
        MPI_Win      win
);

Parametry

  • origin_addr [in]
    początkowy adres buforu

  • origin_count
    liczba wpisów w buforze

  • origin_datatype
    typ danych każdego wpisu buforu

  • result_addr [out]
    początkowy adres buforu wyników

  • result_count
    liczba wpisów w buforze wyników

  • result_datatype
    typ danych każdego wpisu w buforze wyników

  • target_rank
    ranga elementu docelowego

  • target_disp
    przesunięcie od początku okna do początku buforu docelowego

  • target_count
    liczba wpisów w buforze docelowym

  • Datatype
    typ danych każdego wpisu w buforze docelowym

  • Op
    wstępnie zdefiniowana operacja redukcji

  • Wygrać
    obiekt okna

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_GET_ACCUMULATE(ORIGIN_ADDR, ORIGIN_COUNT, ORIGIN_DATATYPE, RESULT_ADDR, RESULT_COUNT, RESULT_DATATYPE,
                TARGET_RANK, TARGET_DISP, TARGET_COUNT, TARGET_DATATYPE, OP, WIN, IERROR)
        <type> ORIGIN_ADDR(*), RESULT_ADDR(*)
        INTEGER(KIND=MPI_ADDRESS_KIND) TARGET_DISP
        INTEGER ORIGIN_COUNT, ORIGIN_DATATYPE, RESULT_COUNT, RESULT_DATATYPE, TARGET_RANK, TARGET_COUNT,
        TARGET_DATATYPE, OP, WIN, IERROR

Uwagi

Gromadzić origin_count elementy typu origin_datatype z buforu początkowego (origin_addr) do buforu przy target_disp przesunięcia, w oknie docelowym określonym przez target_rank i wygrać, przy użyciu operacji op i zwrócić w buforze wyników result_addr zawartość buforu docelowego przed akumulacją określoną przez target_disp, target_count i target_datatype. Dane przesyłane z źródła do miejsca docelowego muszą mieścić się bez obcinania w buforze docelowym. Podobnie dane skopiowane z miejsca docelowego do źródła muszą mieścić się bez obcinania w buforze wyników.

Bufory źródła i wyniku (origin_addr i result_addr) muszą być rozłączne. Każdy argument typu danych musi być wstępnie zdefiniowanym typem danych lub pochodnym typem danych, w którym wszystkie podstawowe składniki są tego samego wstępnie zdefiniowanego typu danych. Wszystkie argumenty typu danych muszą być skonstruowane z tego samego wstępnie zdefiniowanego typu danych. Operacja op dotyczy elementów tego wstępnie zdefiniowanego typu. target_datatype nie może określać nakładających się wpisów, a bufor docelowy musi mieścić się w oknie docelowym lub w dołączonej pamięci w oknie dynamicznym. Operacja jest wykonywana niepodziealnie dla każdego podstawowego typu danych.

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

Zobacz też

MPI One-Sided Communications Functions