Поделиться через


функция MPI_Compare_and_swap

Выполняет операцию удаленного атомарного сравнения и переключения.

Синтаксис

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

Параметры

  • origin_addr [in]
    начальный адрес буфера

  • compare_addr [in]
    начальный адрес comparebuffer

  • result_addr [out]
    начальный адрес буфера результатов

  • datatype
    тип данных каждой записи во всех буферах

  • target_rank
    ранг целевого объекта

  • target_disp
    смещение от начала окна до начала целевого буфера

  • Выиграть
    объект window

Возвращаемое значение

Возвращает MPI_SUCCESS об успешном выполнении. В противном случае возвращаемое значение является кодом ошибки.

В Fortran возвращаемое значение хранится в параметре 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

Комментарии

Эта функция сравнивает один элемент типа datatype в буфере сравнения compare_addr с буфером со смещением target_disp в целевом окне, заданном target_rank и win , и заменяет значение в целевом объекте значением в исходном буфере origin_addr , если буфер сравнения и целевой буфер идентичны. Исходное значение в целевом объекте возвращается в result_addr буфера. Тип данных параметра должен принадлежать к одной из следующих категорий предопределенных типов данных: C integer, Fortran integer, Logical, Multi-language или Byte. Исходный и результирующий буферы (origin_addr и result_addr) должны быть несвязанными.

Требования

Продукт

Распространяемый пакет HPC 2012 MS-MPI, пакет HPC 2008 R2 распространяемый пакет MS-MPI, пакет HPC 2008 MS-MPI распространяемый пакет или служебные программы клиента ПАКЕТА HPC 2008

Заголовок

Mpi.h; Mpif.h

Библиотека

Msmpi.lib

DLL

Msmpi.dll

См. также раздел

Функции One-Sided связи MPI