원격 원자성 비교 및 교환 작업을 수행합니다.
구문
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_rank 및 win으로 지정된 대상 창의 오프셋 target_disp 버퍼와 비교 버퍼와 대상 버퍼가 동일한 경우 origin_addr 원본 버퍼의 값으로 바꿉니다. 대상의 원래 값은 버퍼 result_addr 반환됩니다. 매개 변수 데이터 형식은 C 정수, Fortran 정수, 논리, 다국어 형식 또는 바이트 등 미리 정의된 데이터 형식 범주 중 하나에 속해야 합니다. 원본 및 결과 버퍼(origin_addr 및 result_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 |