다음을 통해 공유


MPI_Mrecv 함수

MPI_Mprobe 또는 MPI_Improbe 일치하는 메시지에 대해 차단 수신 수행합니다.

구문

int MPIAPI MPI_Mrecv(
  _Out_   void         *buf,
  _In_    int          count,
  _In_    MPI_Datatype datatype,
  _Inout_ MPI_Message  *message,
  _Out_   MPI_Status   *status
);

매개 변수

  • buf [out]
    수신 버퍼의 주소에 대한 포인터입니다.

  • count [in]
    buf데이터 형식 요소 수입니다.

  • datatype [in]
    버퍼 배열에 있는 요소의 MPI 데이터 형식입니다.

  • 메시지 [in, out]
    메시지에 대한 포인터를 포함합니다.

  • 상태 [out]
    반환할 때 메시지에 대한 정보가 저장되는 MPI_Status 구조체에 대한 포인터를 포함합니다.

반환 값

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

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

Fortran

    MPI_MRECV(BUF, COUNT, DATATYPE, MESSAGE, STATUS, IERROR)
        <type> BUF(*)
        INTEGER COUNT, DATATYPE, MESSAGE, STATUS(MPI_STATUS_SIZE), IERROR

설명

이 함수는 일치하는 프로브 작업과 일치하는 메시지를 받습니다. 수신 버퍼는 주소 buf에서 시작하여 데이터 형식으로 지정된 형식의 개수 연속 요소를 포함하는 스토리지로 구성됩니다. 받은 메시지의 길이는 수신 버퍼의 길이보다 작거나 같아야 합니다. 들어오는 모든 데이터가 잘림 없이 수신 버퍼에 맞지 않으면 오버플로 오류가 발생합니다.

메시지가 수신 버퍼보다 짧은 경우 (짧은) 메시지에 해당하는 위치만 수정됩니다.

이 함수에서 반환되면 메시지 핸들이 MPI_MESSAGE_NULL 설정됩니다. 이 작업을 실행하는 동안 발생하는 모든 오류는 메시지 핸들을 생성한 일치하는 프로브 호출에 사용되는 통신기에 대해 설정된 오류 처리기에 따라 처리됩니다.

요구 사항

제품

Microsoft MPI v6

헤더

Mpi.h; Mpif.h

라이브러리

Msmpi.lib

DLL

Msmpi.dll

추가 정보

MPI 지점 및 지점 함수

MPI_Mprobe

MPI_Improbe

MPI_Recv

MPI_Imrecv