Partilhar via


função MPI_Mrecv

Efetua uma receção de bloqueio para uma mensagem correspondida por MPI_Mprobe ou MPI_Improbe.

Sintaxe

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

Parâmetros

  • buf [fora]
    Um ponteiro para o endereço da memória intermédia de receção.

  • count [in]
    O número de elementos de tipo de dados em buf.

  • datatype [in]
    O tipo de dados MPI dos elementos na matriz de memória intermédia.

  • mensagem [dentro, fora]
    Contém um ponteiro para a mensagem.

  • status [out]
    Na devolução, contém um ponteiro para uma estrutura de MPI_Status onde são armazenadas informações sobre a mensagem.

Valor devolvido

Devolve MPI_SUCCESS com êxito. Caso contrário, o valor devolvido é um código de erro.

Em Fortran, o valor devolvido é armazenado no parâmetro IERROR .

Fortran

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

Observações

Esta função recebe uma mensagem correspondente a uma operação de pesquisa correspondente. A memória intermédia de receção consiste no armazenamento que contém a contagem de elementos consecutivos do tipo especificado pelo tipo de dados, começando no buf de endereços. O comprimento da mensagem recebida tem de ser menor ou igual ao comprimento da memória intermédia de receção. Ocorre um erro de capacidade excedida se todos os dados recebidos não caberem, sem truncagem, na memória intermédia de receção.

Se a mensagem for mais curta do que a memória intermédia de receção, apenas as localizações correspondentes à mensagem (mais curta) são modificadas.

Na devolução desta função, a alça de mensagem está definida como MPI_MESSAGE_NULL. Todos os erros que ocorrem durante a execução desta operação são processados de acordo com o conjunto de processador de erros do comunicador utilizado na chamada de pesquisa correspondente que produziu o identificador de mensagens

Requisitos

Produto

Microsoft MPI v6

Cabeçalho

Mpi.h; Mpif.h

Biblioteca

Msmpi.lib

DLL

Msmpi.dll

Ver também

Funções Ponto a Ponto do MPI

MPI_Mprobe

MPI_Improbe

MPI_Recv

MPI_Imrecv