다음을 통해 공유


MPI_Rput 함수

요청 기반 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

추가 정보

MPI One-Sided Communications Functions