다음을 통해 공유


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

설명

이 함수는 비교 버퍼 compare_addr 데이터 형식의 한 요소를 target_rankwin으로 지정된 대상 창의 오프셋 target_disp 버퍼와 비교 버퍼와 대상 버퍼가 동일한 경우 origin_addr 원본 버퍼의 값으로 바꿉니다. 대상의 원래 값은 버퍼 result_addr 반환됩니다. 매개 변수 데이터 형식은 C 정수, Fortran 정수, 논리, 다국어 형식 또는 바이트 등 미리 정의된 데이터 형식 범주 중 하나에 속해야 합니다. 원본 및 결과 버퍼(origin_addrresult_addr)는 연결 해제되어야 합니다.

요구 사항

제품

HPC 팩 2012 MS-MPI 재배포 가능 패키지, HPC 팩 2008 R2 MS-MPI 재배포 가능 패키지, HPC Pack 2008 MS-MPI 재배포 가능 패키지 또는 HPC 팩 2008 클라이언트 유틸리티

헤더

Mpi.h; Mpif.h

라이브러리

Msmpi.lib

DLL

Msmpi.dll

추가 정보

MPI One-Sided Communications Functions