Sdílet prostřednictvím


MPI_Get_accumulate funkce

Provede atomické operace čtení-úpravy-zápisu a vrátí data před operací shromažďování.

Syntaxe

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 [v]
    počáteční adresa vyrovnávací paměti

  • origin_count
    počet položek ve vyrovnávací paměti

  • origin_datatype
    datový typ jednotlivých položek vyrovnávací paměti

  • result_addr [out]
    počáteční adresa vyrovnávací paměti výsledků

  • result_count
    počet položek ve vyrovnávací paměti výsledků

  • result_datatype
    datový typ každé položky ve vyrovnávací paměti výsledků

  • target_rank
    rank of target

  • target_disp
    posunutí od začátku okna do začátku cílové vyrovnávací paměti

  • target_count
    počet položek v cílové vyrovnávací paměti

  • Datatype
    datový typ každé položky v cílové vyrovnávací paměti

  • Op
    předdefinovaná operace redukce

  • Vyhrát
    objekt okna

Vrácená hodnota

Vrátí MPI_SUCCESS při úspěchu. V opačném případě je návratovou hodnotou kód chyby.

Ve Fortranu je vrácená hodnota uložena v parametru 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

Poznámky

Hromadit origin_count prvky typu origin_datatype z původní vyrovnávací paměti (origin_addr) do vyrovnávací paměti při posunu target_disp, v cílovém okně určeném target_rank a win, pomocí operace op a vrátit ve výsledné vyrovnávací paměti result_addr obsah cílové vyrovnávací paměti před akumulace, určenou target_disp, target_count a target_datatype. Data přenášená z původního zdroje do cíle se musí bez zkrácení vejít do cílové vyrovnávací paměti. Stejně tak data zkopírovaná z cíle do počátku se musí bez zkrácení vejít do výsledné vyrovnávací paměti.

Vyrovnávací paměť původu a výsledku (origin_addr a result_addr) musí být nesouvislé. Každý argument datového typu musí být předdefinovaný datový typ nebo odvozený datový typ, kde všechny základní komponenty mají stejný předdefinovaný datový typ. Všechny argumenty datového typu musí být vytvořeny ze stejného předdefinovaného datového typu. Operace operace se vztahuje na prvky tohoto předdefinovaného typu. target_datatype nesmí určovat překrývající se položky a cílová vyrovnávací paměť se musí vejít do cílového okna nebo do připojené paměti v dynamickém okně. Operace se provádí atomicky pro každý základní datový typ.

Požadavky

Produkt

HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package nebo HPC Pack 2008 Client Utilities

Hlavička

Mpi.h; Soubor Mpif.h

Knihovna

Msmpi.lib

DLL

Msmpi.dll

Viz také

Funkce MPI One-Sided Communications