Partilhar via


MPI_Ibcast função

Transmite uma mensagem do processo com rank "root" para todos os outros processos do comunicador de forma sem bloqueio.

Sintaxe

int MPIAPI MPI_Ibcast(
  _Inout_  void        *buffer,
  _In_    int          count,
  _In_    MPI_Datatype datatype,
  _In_    int          root,
  _In_    MPI_Comm     comm,
  _Out_   MPI_Request  *request
);

Parâmetros

  • buffer [entrada, saída]
    O ponteiro para o buffer de dados. No processo especificado pelo parâmetro root, o buffer contém os dados a serem transmitidos. Em todos os outros processos no comunicador especificados pelo parâmetro comm, o buffer recebe os dados transmitidos pelo processo raiz. de buffer consiste em contagem elementos sucessivos do MPI_Datatype indicado pelo identificador de de tipo de dados . O comprimento da mensagem é especificado em termos de número de elementos, não número de bytes.

  • contagem [in]
    O número de elementos de dados no buffer. Se a contagem de parâmetro for zero, a parte de dados da mensagem estará vazia.

  • tipo de dados [in]
    O identificador MPI_Datatype que representa o tipo de dados de cada elemento em buffer.

  • raiz [em]
    A classificação do processo dentro do MPI_Commcomm enviar buffer.

  • comunicação [in]
    O identificador MPI_Comm comunicador.

  • pedido [out]
    MPI_Request identificador que representa a operação de comunicação.

Valor de retorno

Retorna MPI_SUCCESS no sucesso. Caso contrário, o valor de retorno é um código de erro.

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

Fortran

    MPI_IBCAST(BUFFER, COUNT, DATATYPE, ROOT, COMM, REQUEST, IERROR)
        <type> BUFFER(*)  
        INTEGER COUNT, DATATYPE, ROOT, COMM, REQUEST, IERROR

Comentários

Uma chamada sem bloqueio inicia uma operação de transmissão coletiva que deve ser concluída em uma chamada de conclusão separada. Uma vez iniciada, a operação pode progredir independentemente de qualquer cálculo ou outra comunicação nos processos participantes. Dessa forma, as operações de transmissão sem bloqueio podem mitigar possíveis efeitos de sincronização das operações de transmissão, executando-as em "segundo plano".

Todas as chamadas de conclusão (por exemplo, MPI_Wait) são suportadas para operações de transmissão sem bloqueio.

Requerimentos

Produto

Microsoft MPI v6

Cabeçalho

Mpi.h; Mpif.h

Biblioteca

Msmpi.lib

DLL

Msmpi.dll

Ver também

Funções Coletivas do IPM

MPI_Bcast

MPI_Datatype

MPI_Test

MPI_Testall

MPI_Testany

MPI_Testsome

MPI_Wait

MPI_Waitall

MPI_Waitany

MPI_Waitsome

MPI_Comm