função MPI_Bcast
Transmite dados de um membro de um grupo para todos os membros do grupo.
Sintaxe
int MPIAPI MPI_Bcast(
_Inout_ void *buffer,
_In_ int count,
_In_ MPI_Datatype datatype,
_In_ int root,
_In_ MPI_Comm comm
);
Parâmetros
memória intermédia [dentro, fora]
O ponteiro para a memória intermédia de dados. No processo especificado pelo parâmetro raiz , a memória intermédia contém os dados a serem transmitidos. Em todos os outros processos no comunicador especificados pelo parâmetro de comunicação , a memória intermédia recebe os dados transmitidos pelo processo de raiz.contar [em]
O número de elementos de dados na memória intermédia. Se o parâmetro de contagem for zero, a parte de dados da mensagem estará vazia.tipo de dados [em]
O tipo de dados MPI dos elementos na memória intermédia de envio.raiz [em]
A classificação do processo que está a enviar os dados.vírgula [em]
O MPI_Comm identificador 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_BCAST(BUFFER, COUNT, DATATYPE, ROOT, COMM, IERROR)
<type> BUFFER(*)
INTEGER COUNT, DATATYPE, ROOT, COMM, IERROR
Observações
A assinatura de tipo, conforme especificado pelos parâmetros de contagem e tipo de dados em cada processo, tem de ser igual à assinatura do tipo na raiz. Este requisito implica que a quantidade de dados enviados tem de ser igual à quantidade recebida, em termos de pares entre cada processo e a raiz. MPI_Bcast e todas as outras rotinas coletivas de movimento de dados fazem esta restrição. Ainda são permitidos mapas de tipos distintos entre o remetente e o recetor.
Se o parâmetro de comunicação fizer referência a um intracomunicador, a função MPI_Bcast transmite uma mensagem do processo especificado para todos os processos do grupo que inclui o próprio. É chamado por todos os membros do grupo que estão a utilizar os mesmos parâmetros. Na devolução, o conteúdo da memória intermédia raiz é copiado para todos os outros processos.
Se o parâmetro de comunicação fizer referência a um intercomunicador, a chamada envolve todos os processos no intercomunicador, mas com um grupo, grupo A, que define o processo de raiz. Todos os processos no outro grupo, grupo B, definem o mesmo valor no parâmetro raiz , ou seja, a classificação do processo de raiz no grupo A. O processo de raiz define o valor MPI_ROOT no parâmetro raiz . Todos os outros processos no grupo A definem o valor MPI_PROC_NULL no parâmetro raiz . Os dados são transmitidos do processo de raiz para todos os processos no grupo B. Os parâmetros de memória intermédia dos processos no grupo B têm de ser consistentes com o parâmetro de memória intermédia do processo de raiz.
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 |