Exercicios Resolvidos

1306 palavras 6 páginas
EXERCÍCIO 1 – MUDANDO AS CORES
O código abaixo ilustra o uso da comunicação ponto-a-ponto e a comunicação coletiva. Nesse código, uma matriz de três cores (verde, branco, vermelho e) é distribuída para todos os processos criados no início do programa MPI. Cada processo de muda de cor e envia a sua cor alterada atributo para o processo mestre (0), que mostra na tela a cor original e a cor alterada de cada processo.
Depois de ter definido todas as variáveis necessárias que serão usadas no programa, é especificado qual será o processo de root. Esse será usado para transmitir, por broadcast, as cores para todos os outros processos e para imprimir as cores de cada um dos processos. Processo 0 foi escolhido como o processo de raiz.
Em seguida, foram geradas as três cores distintas dinamicamente que serão utilizadas nos processos, uma matriz dinâmica vetorCores é criada para armazenar as cores: branco, vermelho e verde.
N_cores = 3; colorArray = (int*) malloc(sizeof(int) * n_cores); for (k = 0; k < n_cores; k++) vetorCores[k] = k;

É necessário inicializar o MPI, acessando o rank e total de processos que estão sendo executados.
MPI_Init(&argc, &argv);
MPI_Comm_rank(MPI_COMM_WORLD, &procID);
MPI_Comm_size(MPI_COMM_WORLD, &nproc);

Então é enviado por broadcast todo o vetor de cores para cada processo utilizando o MPI_BCAST e cada um dos processores irá definir sua cor como verde (ultimo elemento do vetor.
MPI_Bcast(vetorCores, n_cores, MPI_INT, root, MPI_COMM_WORLD); pcolor = vetorCores[2];

O rank do processador que chama o MPI_Bcast não foi especificado, pois todos os processadores no comunicador MPI_COMM_WORLD comunicador deve realizar esta chamada. Neste caso, é o processo root que envia o vetorCores, para cada um dos processos no comunicador.
Além disso, não existe nenhuma parâmetro TAG incluído na função MPI_Bcast. Esse parâmetro não é necessário porque nesta operação de comunicação coletiva, o número de elementos e o tipo de dados destes elementos são idênticas em

Relacionados

  • Exercicios resolvidos
    626 palavras | 3 páginas
  • Exercícios Resolvidos
    687 palavras | 3 páginas
  • exercícios resolvidos
    449 palavras | 2 páginas
  • Exercícios resolvidos
    1864 palavras | 8 páginas
  • exercicios resolvidos
    4061 palavras | 17 páginas
  • Exercicios resolvido
    1032 palavras | 5 páginas
  • Exercícios resolvidos
    4253 palavras | 18 páginas
  • Exercicios Resolvidos
    2099 palavras | 9 páginas
  • Exercícios resolvidos
    3167 palavras | 13 páginas
  • Exercícios resolvidos
    6508 palavras | 27 páginas