Delen via


MPI_Fetch_and_op functie

Atomisch lezen-wijzigen-schrijven op één element van gegevens en retourneert het gegevenselement vóór de accumulatiebewerking.

Syntaxis

int MPIAPI MPI_Fetch_and_op(
  _In_  void         *origin_addr,
  _Out_ void         *result_addr,
        MPI_Datatype datatype,
        int          target_rank,
        MPI_Aint     target_disp,
        MPI_Op       op,
        MPI_Win      win
);

Parameters

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

  • result_addr [uit]
    initiële adres van resultaatbuffer

  • Datatype
    gegevenstype van elke vermelding in oorsprong, resultaat en doelbuffer

  • target_rank
    rang van doel

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

  • Op
    reduce-bewerking

  • 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_FETCH_AND_OP(ORIGIN_ADDR, RESULT_ADDR, DATATYPE,
                TARGET_RANK, TARGET_DISP, OP, WIN, IERROR)
        <type> ORIGIN_ADDR(*), RESULT_ADDR(*)
        INTEGER(KIND=MPI_ADDRESS_KIND) TARGET_DISP
        INTEGER DATATYPE, TARGET_RANK, OP, WIN, IERROR

Opmerkingen

Verzamel één element van het type gegevenstype 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.

De oorsprongs- en resultaatbuffers (origin_addr en result_addr) moeten niet aaneengesloten zijn. Elk van de vooraf gedefinieerde bewerkingen voor MPI_Reduce, evenals MPI_NO_OP of MPI_REPLACE, kan worden opgegeven als op; door de gebruiker gedefinieerde functies kunnen niet worden gebruikt. Het argument gegevenstype moet een vooraf gedefinieerd gegevenstype zijn. De bewerking wordt atomisch uitgevoerd.

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