MPI_Fetch_and_op 함수
데이터의 한 요소에 대해 원자성 읽기-수정-쓰기를 수행하고 누적 작업 전에 데이터 요소를 반환합니다.
구문
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
);
매개 변수
origin_addr [in]
버퍼의 초기 주소result_addr [out]
결과 버퍼의 초기 주소datatype
원본, 결과 및 대상 버퍼에 있는 각 항목의 데이터 형식target_rank
대상 순위target_disp
창 시작에서 대상 버퍼의 시작 부분으로의 변위Op
축소 작업승리
window 개체
반환 값
성공에 대한 MPI_SUCCESS 반환합니다. 그렇지 않으면 반환 값이 오류 코드입니다.
Fortran에서 반환 값은 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
설명
데이터 형식 의 한 요소를 원본 버퍼(origin_addr)에서 오프셋 target_disp 버퍼로 누적하고, target_rank 및 win으로 지정된 대상 창에서 작업 작업을 사용하고, 누적 전에 대상 버퍼의 콘텐츠를 result_addr 결과 버퍼에 반환합니다.
원본 및 결과 버퍼(origin_addr 및 result_addr)는 연결 해제되어야 합니다. MPI_NO_OP 또는MPI_REPLACE 뿐만 아니라 MPI_Reduce 대해 미리 정의된 작업은 op로 지정할 수 있습니다. 사용자 정의 함수를 사용할 수 없습니다. 데이터 형식 인수는 미리 정의된 데이터 형식이어야 합니다. 작업은 원자성으로 실행됩니다.
요구 사항
제품 |
HPC Pack 2012 MS-MPI 재배포 가능 패키지, HPC Pack 2008 R2 MS-MPI 재배포 가능 패키지, HPC Pack 2008 MS-MPI 재배포 가능 패키지 또는 HPC Pack 2008 클라이언트 유틸리티 |
헤더 |
Mpi.h; Mpif.h |
라이브러리 |
Msmpi.lib |
DLL |
Msmpi.dll |