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_Send 및 MPI_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 |