Compartilhar via


Função MPI_Bsend

Envia dados para um processo especificado no modo em buffer. Essa função retorna quando o buffer de envio pode ser reutilizado com segurança.

Sintaxe

int MPIAPI MPI_Bsend(
  _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 na matriz de buffers. 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 com êxito. Caso contrário, o valor retornado será um código de erro.

No Fortran, o valor retornado é armazenado no parâmetro IERROR .

Fortran

    MPI_BSEND(BUF, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
        <type> BUF(*)
        INTEGER COUNT, DATATYPE, DEST, TAG, COMM, IERROR

Comentários

Essa função é local, pode concluir a operação de envio com êxito sem a ocorrência de uma operação de recebimento correspondente.

Essa função pode ser iniciada se uma operação de recebimento correspondente foi postada ou não. Ele pode concluir a operação de envio antes que um recebimento correspondente seja postado. Sua conclusão não depende da ocorrência de uma operação de recebimento correspondente. Se você chamar essa função e nenhuma operação de recebimento correspondente for postada, a implementação do MPI deverá armazenar em buffer a mensagem de saída para que a chamada de envio possa retornar.

Essa função retornará um erro se não houver espaço em buffer suficiente. A quantidade de espaço em buffer disponível é controlada pelo usuário usando a função MPI_Buffer_attach .

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 de MPI

MPI_Buffer_attach

MPI_Send

MPI_Ssend

MPI_Rsend

MPI_Recv