다음을 통해 공유


MPI_Rsend 함수

준비 모드 보내기 작업을 수행하고 송신 버퍼를 안전하게 재사용할 수 있는 경우 를 반환합니다.

구문

int MPIAPI MPI_Rsend(
  _In_opt_ void         *buf,
           int          count,
           MPI_Datatype datatype,
           int          dest,
           int          tag,
           MPI_Comm     comm
);

매개 변수

  • buf [in, optional]
    보낼 데이터가 포함된 버퍼에 대한 포인터입니다.

  • count
    버퍼의 요소 수입니다. 메시지의 데이터 부분이 비어 있는 경우 count 매개 변수를 0으로 설정합니다.

  • datatype
    버퍼에 있는 요소의 데이터 형식입니다.

  • dest
    comm 매개 변수로 지정된 통신기 내 대상 프로세스의 순위입니다.

  • 태그
    다양한 유형의 메시지를 구분하는 데 사용할 수 있는 메시지 태그입니다.

  • 통신
    통신자에 대한 핸들입니다.

반환 값

성공에 대한 MPI_SUCCESS 반환합니다. 그렇지 않으면 반환 값이 오류 코드입니다.

Fortran에서 반환 값은 IERROR 매개 변수에 저장됩니다.

Fortran

    MPI_RSEND(BUF, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
        <type> BUF(*)
        INTEGER COUNT, DATATYPE, DEST, TAG, COMM, IERROR

설명

이 함수는 로컬이 아닌 함수입니다. 이 함수는 송신 버퍼를 다시 사용할 수 있는 즉시 반환하며 일치하는 수신 작업의 상태 의존하지 않습니다. 그러나 전체 보내기 작업의 성공적인 완료는 일치하는 수신 작업의 존재에 따라 달라집니다.

이 함수는 일치하는 수신 작업이 이미 게시된 경우에만 호출할 수 있습니다. 그렇지 않으면 함수는 오류를 반환하고 결과는 정의되지 않습니다. 일부 시스템에서는 이 요구 사항이 다른 모드에서 사용되는 일부 핸드셰이크를 제거하고 표준 또는 동기 송신 작업에 비해 성능을 향상시킬 수 있습니다.

MPI_Rsend 함수는 MPI_SendMPI_Ssend 함수와 동일한 의미 체계를 가지고 있지만 일치하는 수신이 이미 게시되었음을 시스템에 알 수 있습니다. 이 정보는 약간의 오버헤드를 절약할 수 있습니다. 따라서 올바른 프로그램에서는 준비된 보내기를 성능 이외의 프로그램 동작에 영향을 주지 않고 표준 전송으로 대체할 수 있습니다.

요구 사항

제품

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 지점 및 지점 함수

MPI_Send

MPI_Bsend

MPI_Ssend

MPI_Recv