Aula prática Arquiteturas paralelas e distribuídas
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.
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.
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.
Aula prática Arquiteturas paralelas e distribuídas


