Delen via


MPI_Get_accumulate functie

Voert atomisch lezen-wijzigen-schrijven uit en retourneert de gegevens vóór de accumulatiebewerking.

Syntaxis

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

Parameters

  • origin_addr [in]
    initiële adres van de buffer

  • origin_count
    aantal vermeldingen in buffer

  • origin_datatype
    gegevenstype van elke buffervermelding

  • result_addr [uit]
    initiële adres van resultaatbuffer

  • result_count
    aantal vermeldingen in de resultatenbuffer

  • result_datatype
    gegevenstype van elke vermelding in de resultaatbuffer

  • target_rank
    rang van doel

  • target_disp
    verplaatsing van het begin van het venster naar het begin van de doelbuffer

  • target_count
    aantal vermeldingen in doelbuffer

  • Datatype
    gegevenstype van elke vermelding in de doelbuffer

  • Op
    vooraf gedefinieerde reductiebewerking

  • Winnen
    vensterobject

Retourwaarde

Retourneert MPI_SUCCESS bij succes. Anders is de retourwaarde een foutcode.

In Fortran wordt de retourwaarde opgeslagen in de parameter 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

Opmerkingen

Verzamel origin_count elementen van het type origin_datatype van de oorsprongbuffer (origin_addr) naar de buffer bij offset target_disp, in het doelvenster dat is opgegeven door target_rank en win, met behulp van de bewerking op en retour in de resultaatbuffer result_addr de inhoud van de doelbuffer vóór de accumulatie, opgegeven door target_disp, target_count en target_datatype. De gegevens die van oorsprong naar doel worden overgedragen, moeten, zonder afkapping, in de doelbuffer passen. Op dezelfde manier moeten de gegevens die van doel naar oorsprong worden gekopieerd, zonder afkapping, in de resultaatbuffer passen.

De oorsprongs- en resultaatbuffers (origin_addr en result_addr) moeten niet aaneengesloten zijn. Elk gegevenstype-argument moet een vooraf gedefinieerd gegevenstype of een afgeleid gegevenstype zijn waarbij alle basisonderdelen van hetzelfde vooraf gedefinieerde gegevenstype zijn. Alle gegevenstypeargumenten moeten worden samengesteld op basis van hetzelfde vooraf gedefinieerde gegevenstype. De bewerking op is van toepassing op elementen van dat vooraf gedefinieerde type. target_datatype mag geen overlappende vermeldingen opgeven en de doelbuffer moet in het doelvenster of in het gekoppelde geheugen in een dynamisch venster passen. De bewerking wordt atomisch uitgevoerd voor elk basisgegevenstype.

Vereisten

Product

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

Header

Mpi.h; Mpif.h

Bibliotheek

Msmpi.lib

DLL

Msmpi.dll

Zie ook

MPI One-Sided Communications-functies