Compartilhar via


Função MPI_Mrecv

Executa um recebimento de bloqueio para uma mensagem correspondente a 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 [out]
    Um ponteiro para o endereço do buffer de recebimento.

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

  • datatype [in]
    O tipo de dados MPI dos elementos na matriz de buffers.

  • message [in, out]
    Contém um ponteiro para a mensagem.

  • status [out]
    No retorno, contém um ponteiro para uma estrutura MPI_Status em que as informações sobre a mensagem são armazenadas.

Retornar valor

Retorna MPI_SUCCESS em caso de êxito. Caso contrário, o valor retornado será um código de erro.

Em Fortran, o valor retornado é 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

Comentários

Essa função recebe uma mensagem correspondente a uma operação de investigação correspondente. O buffer de recebimento consiste no armazenamento que contém a contagem de elementos consecutivos do tipo especificado pelo tipo de dados, começando no endereço buf. O comprimento da mensagem recebida deve ser menor ou igual ao comprimento do buffer de recebimento. Ocorrerá um erro de estouro se todos os dados de entrada não se ajustarem, sem truncamento, ao buffer de recebimento.

Se a mensagem for menor que o buffer de recebimento, somente os locais correspondentes à mensagem (mais curta) serão modificados.

No retorno dessa função, o identificador de mensagem é definido como MPI_MESSAGE_NULL. Todos os erros que ocorrem durante a execução desta operação são tratados de acordo com o manipulador de erros definido para o comunicador usado na chamada de investigação correspondente que produziu o identificador de mensagem

Requisitos

Produto

Microsoft MPI v6

parâmetro

Mpi.h; Mpif.h

Biblioteca

Msmpi.lib

DLL

Msmpi.dll

Confira também

Funções ponto a ponto do MPI

MPI_Mprobe

MPI_Improbe

MPI_Recv

MPI_Imrecv