MPI_Get_accumulate 함수
원자성 읽기-수정-쓰기를 수행하고 누적 작업 전에 데이터를 반환합니다.
구문
int MPIAPI MPI_Get_accumulate(
_In_ void *origin_addr,
int origin_count,
MPI_Datatype origin_datatype,
_Out_ void *result_addr,
int result_count,
MPI_Datatype result_datatype,
int target_rank,
MPI_Aint target_disp,
int target_count,
MPI_Datatype datatype,
MPI_Op op,
MPI_Win win
);
매개 변수
origin_addr [in]
버퍼의 초기 주소origin_count
버퍼의 항목 수origin_datatype
각 버퍼 항목의 데이터 형식result_addr [out]
결과 버퍼의 초기 주소result_count
결과 버퍼의 항목 수result_datatype
결과 버퍼에 있는 각 항목의 데이터 형식target_rank
대상 순위target_disp
창 시작에서 대상 버퍼의 시작 부분으로의 변위target_count
대상 버퍼의 항목 수datatype
대상 버퍼에 있는 각 항목의 데이터 형식Op
미리 정의된 축소 작업승리
window 개체
반환 값
성공에 대한 MPI_SUCCESS 반환합니다. 그렇지 않으면 반환 값이 오류 코드입니다.
Fortran에서 반환 값은 IERROR 매개 변수에 저장됩니다.
Fortran
MPI_GET_ACCUMULATE(ORIGIN_ADDR, ORIGIN_COUNT, ORIGIN_DATATYPE, RESULT_ADDR, RESULT_COUNT, RESULT_DATATYPE,
TARGET_RANK, TARGET_DISP, TARGET_COUNT, TARGET_DATATYPE, OP, WIN, IERROR)
<type> ORIGIN_ADDR(*), RESULT_ADDR(*)
INTEGER(KIND=MPI_ADDRESS_KIND) TARGET_DISP
INTEGER ORIGIN_COUNT, ORIGIN_DATATYPE, RESULT_COUNT, RESULT_DATATYPE, TARGET_RANK, TARGET_COUNT,
TARGET_DATATYPE, OP, WIN, IERROR
설명
원본 버퍼(origin_addr)에서 오프셋target_disp 버퍼로 origin_datatype 형식의 origin_count 요소를 target_rank 및 win으로 지정된 대상 창에 누적하고, target_disp 지정된 누적 전에 대상 버퍼의 콘텐츠를 result_addr 결과 버퍼에서 작업 작업 및 반환을 사용합니다.target_count 및 target_datatype. 원본에서 대상으로 전송되는 데이터는 잘림 없이 대상 버퍼에 맞아야 합니다. 마찬가지로 대상에서 원본으로 복사된 데이터는 잘림 없이 결과 버퍼에 맞아야 합니다.
원본 및 결과 버퍼(origin_addr 및 result_addr)는 연결 해제되어야 합니다. 각 데이터 형식 인수는 미리 정의된 데이터 형식이거나 모든 기본 구성 요소가 동일한 미리 정의된 데이터 형식인 파생 데이터 형식이어야 합니다. 모든 데이터 형식 인수는 미리 정의된 동일한 데이터 형식에서 생성되어야 합니다. 연산 작업은 미리 정의된 형식의 요소에 적용됩니다. target_datatype 겹치는 항목을 지정해서는 안 되며 대상 버퍼는 대상 창 또는 동적 창의 연결된 메모리에 맞아야 합니다. 작업은 각 기본 데이터 형식에 대해 원자 방식으로 실행됩니다.
요구 사항
제품 |
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 |