Compartilhar via


função MPI_Rsend

Executa uma operação de envio de modo pronto e retorna quando o buffer de envio pode ser reutilizado 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 o buffer que contém os dados a serem enviados.

  • contagem
    O número de elementos no buffer. Se a parte de dados da mensagem estiver vazia, defina o parâmetro count como 0.

  • datatype
    O tipo de dados dos elementos no buffer.

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

  • tag
    A marca de mensagem que pode ser usada para distinguir diferentes tipos de mensagens.

  • comm
    O identificador para o comunicador.

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

Comentários

Essa função não é local. Essa função retorna assim que o buffer de envio pode ser reutilizado e não depende do status de uma operação de recebimento correspondente. No entanto, a conclusão bem-sucedida da operação de envio geral depende da existência de uma operação de recebimento correspondente.

Essa função só poderá ser chamada se a operação de recebimento correspondente já estiver postada. Caso contrário, a função retornará um erro e seu resultado será indefinido. Em alguns sistemas, esse requisito elimina algumas das práticas usadas em outros modos e pode melhorar o desempenho em comparação com as operações de envio padrão ou síncronas.

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 um recebimento correspondente já foi postado. Essas informações podem economizar alguma sobrecarga. Portanto, em um programa correto, um envio pronto pode ser substituído por um envio padrão sem nenhum efeito sobre o comportamento do programa que não seja o desempenho.

Requisitos

Produto

Pacote Redistribuível do HPC Pack 2012 MS-MPI, Pacote Redistribuível HPC Pack 2008 R2 MS-MPI, Pacote Redistribuível do HPC Pack 2008 MS-MPI ou Utilitários de Cliente HPC Pack 2008

parâmetro

Mpi.h; Mpif.h

Biblioteca

Msmpi.lib

DLL

Msmpi.dll

Confira também

Funções ponto a ponto do MPI

MPI_Send

MPI_Bsend

MPI_Ssend

MPI_Recv