Delen via


MPI_Compare_and_swap functie

Voert een externe atomische vergelijkings- en wisselbewerking uit.

Syntaxis

int MPIAPI MPI_Compare_and_swap(
  _In_  void         *origin_addr,
  _In_  void         *compare_addr,
  _Out_ void         *result_addr,
        MPI_Datatype datatype,
        int          target_rank,
        MPI_Aint     target_disp,
        MPI_Win      win
);

Parameters

  • origin_addr [in]
    oorspronkelijk adres van buffer

  • compare_addr [in]
    oorspronkelijk adres van comparebuffer

  • result_addr [uit]
    oorspronkelijk adres van resultaatbuffer

  • Datatype
    gegevenstype van elke vermelding in alle buffers

  • target_rank
    rang van doel

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

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

Opmerkingen

Deze functie vergelijkt één element van het type gegevenstype in de vergelijkingsbuffer compare_addr met de buffer bij offset target_disp in het doelvenster dat is opgegeven door target_rank en win . De waarde bij het doel wordt vervangen door de waarde in de oorspronkelijke buffer origin_addr als de vergelijkingsbuffer en de doelbuffer identiek zijn. De oorspronkelijke waarde op het doel wordt geretourneerd in de buffer result_addr. Het gegevenstype van de parameter moet behoren tot een van de volgende categorieën van vooraf gedefinieerde gegevenstypen: geheel getal C, Geheel getal Fortran, Logisch, Typen meerdere talen of Byte. De oorsprong- en resultaatbuffers (origin_addr en result_addr) moeten niet aaneengesloten zijn.

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 Functions