요청 기반 RMA put 작업입니다.
구문
int MPIAPI MPI_Rput(
_In_ void *origin_addr,
int origin_count,
MPI_Datatype origin_datatype,
int target_rank,
MPI_Aint target_disp,
int target_count,
MPI_Datatype target_datatype,
MPI_Win win,
_Out_ MPI_Request *request
);
매개 변수
origin_addr [in]
원본 버퍼의 초기 주소입니다.origin_count
원본 버퍼의 항목 수입니다.origin_datatype
원본 버퍼에 있는 각 항목의 데이터 형식입니다.target_rank
대상의 순위입니다.target_disp
창의 시작에서 대상 버퍼로의 변위입니다.target_count
대상 버퍼의 항목 수입니다.target_datatype
대상 버퍼에 있는 각 항목의 데이터 형식입니다.승리
통신에 사용되는 Window 개체입니다.request [out]
RMA 요청.
반환 값
성공에 대한 MPI_SUCCESS 반환합니다. 그렇지 않으면 반환 값이 오류 코드입니다.
Fortran에서 반환 값은 IERROR 매개 변수에 저장됩니다.
Fortran
MPI_RPUT(ORIGIN_ADDR, ORIGIN_COUNT, ORIGIN_DATATYPE, TARGET_RANK,
TARGET_DISP, TARGET_COUNT, TARGET_DATATYPE, WIN, REQUEST, IERROR)
<type> ORIGIN_ADDR(*)
INTEGER(KIND=MPI_ADDRESS_KIND) TARGET_DISP
INTEGER ORIGIN_COUNT, ORIGIN_DATATYPE, TARGET_RANK, TARGET_COUNT,
TARGET_DATATYPE, WIN, REQUEST, IERROR
설명
MPI_Rput 통신 요청 개체를 할당하고 요청 핸들 (인수 요청)과 연결한다는 점을 제외하고 MPI_Put 비슷합니다. MPI_Rput 작업(즉, 해당 테스트 또는 대기 후)이 완료되면 발신자가 원본 버퍼의 위치를 자유롭게 업데이트할 수 있음을 나타냅니다. 대상 창에서 데이터를 사용할 수 있음을 나타내지는 않습니다. 원격 완료가 필요한 경우 MPI_Win_flush, MPI_Win_flush_all, MPI_Win_unlock 또는 MPI_Win_unlock_all 사용할 수 있습니다.
요구 사항
제품 |
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 |