Público
Arquiteturas Paralelas e Distribuídas
CLIQUE AQUI! PARA VISUALIZAR O MANUAL!
Roteiro
Aula Prática
Unidade 3
2
Público
ROTEIRO DE AULA PRÁTICA
NOME DA DISCIPLINA: Arquiteturas Paralelas e Distribuídas
Unidade 3
Seção 3.3
OBJETIVOS Definição dos objetivos da aula prática:
Desenvolver o conhecimento e a habilidade para a aplicar os conceitos da programação distribuídas utilizando o OpenMP.
INFRAESTRUTURA Instalações:
Laboratório de Computação Materiais de consumo:
Descrição
Quantid. de materiais por procedimento/atividade Computador 01
Software:
Sim ( X ) Não ( ) Em caso afirmativo, qual?
Pago ( ) Não Pago ( X ) OpenMP Tipo de Licença: Gratuita.
Descrição do software: OpenMP (Open Multi-Processing) é uma API de programação paralela para a execução em sistemas com arquiteturas de múltiplos processadores ou múltiplos núcleos de processamento. Permite acrescentar simultaneidade aos programas escritos em C, C++ e Fortran sobre a base do modelo de execução fork-join.
Equipamento de Proteção Individual (EPI): NSA.
3
Público
PROCEDIMENTOS PRÁTICOS Procedimento/Atividade Nº 1
Atividade proposta: Desenvolva um programa em C/C++ que utilize a biblioteca OpenMP para realizar o cálculo paralelo de produtos matriciais.
Procedimentos para a realização da atividade: O programa deve seguir as seguintes etapas:
• Defina duas matrizes quadradas de tamanho N x N, sendo N um valor predeterminado.
• Preencha as matrizes com valores aleatórios.
• Divida o trabalho entre as threads que estão disponíveis usando a diretiva de loop paralelo do OpenMP.
• Usando a diretiva do OpenMP adequada, realize o cálculo paralelo dos produtos matriciais.
• Para obter a matriz resultante, combine os resultados parciais das threads.
• Apresente a matriz resultante. Algumas dicas sobre a implementação:
• Use a biblioteca OpenMP para criar loops paralelos e implementar o cálculo de produtos matriciais em paralelo.
• Utilize as diretrizes do OpenMP para dividir o trabalho entre as threads e combinar os resultados parciais.
• Avalie o programa utilizando diferentes tamanhos de matrizes e verifique se os resultados apresentados estão de acordo.
• Utilize a função rand() para preencher as matrizes com valores aleatórios.
Checklist: Ao final da atividade o aluno deverá saber princípios da programação paralela e entender como ela ocorre.
4
Público
RESULTADOS Resultados da aula prática:
É esperado que o aluno ao término da prática consiga utilizar a programação paralela com a ferramenta proposta. Deve ser entregue o código com a solução do problema proposto.






Avaliações
Não há avaliações ainda.