Ajude a manter o site livre, gratuito e sem propagandas. Colabore!
Em construção
Comunicadores são objetos que definem grupos de processos que podem se comunicar entre si. Cada comunicador é associado a um grupo de processos, e as operações de comunicação são realizadas dentro desse grupo.
Uma das funções mais comumente empregadas para criar um novo comunicador é a MPI_Comm_split. Sua sintaxe é a seguinte:
O argumento comm é o comunicador original (por exemplo, MPI_COMM_WORLD), color é um inteiro que define a cor do grupo de processos que serão incluídos no novo comunicador. Todos os processos que passam pelo mesmo valor de color são atribuídos aos mesmo comunicador. Se color == MPI_UNDEFINED, o processo não é atribuído a nenhum novo comunicador. E, key é um inteiro que define a ordem dos processos no novo comunicador. O processo que passa com o menor valor de key será o rank == 0 no novo comunicador, o próximo com menor valor será o rank == 1 e assim por diante. O argumento newcomm é um ponteiro para o novo comunicador criado.
O seguinte Código 15 cria dois grupos de processos, um com color == 0 e outro com color == 1. Os processos são distribuídos dois-a-dois entre os comunicadores. Consulte a Figura 3.7.
Rodando com apenas 4 processos, temos a seguinte saída:
Os grupos são conjuntos de processos que podem ser usados para criar comunicadores.
O seguinte Código 16 cria dois grupos de processos a partir do grupo do comunicador MPI_COMM_WORLD. O primeiro grupo contém os primeiros processos e o segundo grupo contém os últimos processos, onde é o número de processos inicializados. Em seguida, dois novos comunicadores são criados a partir desses grupos.
Rodando com apenas 4 processos, temos a seguinte saída:
Em construção
Aproveito para agradecer a todas/os que de forma assídua ou esporádica contribuem enviando correções, sugestões e críticas!
Este texto é disponibilizado nos termos da Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional. Ícones e elementos gráficos podem estar sujeitos a condições adicionais.
Ajude a manter o site livre, gratuito e sem propagandas. Colabore!
Em construção
Comunicadores são objetos que definem grupos de processos que podem se comunicar entre si. Cada comunicador é associado a um grupo de processos, e as operações de comunicação são realizadas dentro desse grupo.
Uma das funções mais comumente empregadas para criar um novo comunicador é a MPI_Comm_split. Sua sintaxe é a seguinte:
O argumento comm é o comunicador original (por exemplo, MPI_COMM_WORLD), color é um inteiro que define a cor do grupo de processos que serão incluídos no novo comunicador. Todos os processos que passam pelo mesmo valor de color são atribuídos aos mesmo comunicador. Se color == MPI_UNDEFINED, o processo não é atribuído a nenhum novo comunicador. E, key é um inteiro que define a ordem dos processos no novo comunicador. O processo que passa com o menor valor de key será o rank == 0 no novo comunicador, o próximo com menor valor será o rank == 1 e assim por diante. O argumento newcomm é um ponteiro para o novo comunicador criado.
O seguinte Código 15 cria dois grupos de processos, um com color == 0 e outro com color == 1. Os processos são distribuídos dois-a-dois entre os comunicadores. Consulte a Figura 3.7.
Rodando com apenas 4 processos, temos a seguinte saída:
Os grupos são conjuntos de processos que podem ser usados para criar comunicadores.
O seguinte Código 16 cria dois grupos de processos a partir do grupo do comunicador MPI_COMM_WORLD. O primeiro grupo contém os primeiros processos e o segundo grupo contém os últimos processos, onde é o número de processos inicializados. Em seguida, dois novos comunicadores são criados a partir desses grupos.
Rodando com apenas 4 processos, temos a seguinte saída:
Em construção
Aproveito para agradecer a todas/os que de forma assídua ou esporádica contribuem enviando correções, sugestões e críticas!
Este texto é disponibilizado nos termos da Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional. Ícones e elementos gráficos podem estar sujeitos a condições adicionais.