Partilhar via


função MPI_Rsend

Executa uma operação de envio do modo pronto e devolve quando a memória intermédia de envio pode ser reutilizada com segurança.

Sintaxe

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

Parâmetros

  • buf [in, opcional]
    Um ponteiro para a memória intermédia que contém os dados a enviar.

  • contagem
    O número de elementos na memória intermédia. Se a parte de dados da mensagem estiver vazia, defina o parâmetro de contagem como 0.

  • tipo de dados
    O tipo de dados dos elementos na memória intermédia.

  • dest
    A classificação do processo de destino no comunicador especificado pelo parâmetro de comunicação .

  • etiqueta
    A etiqueta de mensagem que pode ser utilizada para distinguir diferentes tipos de mensagens.

  • vírgula
    A alça do comunicador.

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_RSEND(BUF, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
        <type> BUF(*)
        INTEGER COUNT, DATATYPE, DEST, TAG, COMM, IERROR

Observações

Esta função não é local. Esta função devolve assim que a memória intermédia de envio pode ser reutilizada e não depende do estado de uma operação de receção correspondente. No entanto, a conclusão bem-sucedida da operação de envio global depende da existência de uma operação de receção correspondente.

Esta função só pode ser chamada se a operação de receção correspondente já estiver publicada. Caso contrário, a função devolve um erro e o resultado é indefinido. Em alguns sistemas, este requisito elimina alguns dos testes práticos utilizados noutros modos e pode melhorar o desempenho em comparação com as operações de envio padrão ou síncrona.

A função MPI_Rsend tem a mesma semântica que as funções MPI_Send e MPI_Ssend , mas notifica o sistema de que já foi publicada uma receção correspondente. Essas informações podem guardar algumas sobrecargas. Por conseguinte, num programa correto, um envio pronto pode ser substituído por um envio padrão sem qualquer efeito no comportamento do programa que não seja o desempenho.

Requisitos

Produto

HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package ou HPC Pack 2008 Client Utilities

Cabeçalho

Mpi.h; Mpif.h

Biblioteca

Msmpi.lib

DLL

Msmpi.dll

Ver também

Funções Ponto a Ponto do MPI

MPI_Send

MPI_Bsend

MPI_Ssend

MPI_Recv