Sistemas Concorrentes Capítulo 03 – OMP Prof. Paulo Fernando da Silva Roteiro • Conceitos • Exemplo de Compilação • For paralelo • Seções paralelas Prof. Paulo Fernando da Silva Open MP • Fornece uma opção de linguagem paralela • Através da inclusão de diretivas de compilação • E da compilação através de um compilador OMP Prof. Paulo Fernando da Silva Open MP Prof. Paulo Fernando da Silva Open MP Prof. Paulo Fernando da Silva Open MP - JOMP • Middleware – Jomp1.0b.jar • Compilador – ConversorJomp3.java • Diretivas paralelas: • Shared = variáveis compartilhadas (default) • Private = variáveis exclusivas Prof. Paulo Fernando da Silva Montando o Ambiente • http://www.inf.furb.br/~paulofernando/disciplinas/ SC-Sistemas_Concorrentes/3-OMP/ • Faça o download de Jomp1.0b.jar • Adicione a seu projeto, como biblioteca • Faça o download de ConversorJomp3.java • Implemente o exemplo do próximo slide Prof. Paulo Fernando da Silva Ambiente Resultante Prof. Paulo Fernando da Silva Convertendo seu projeto • Execute o ConversorJomp3 • informe hello_normal.java como entrada Prof. Paulo Fernando da Silva Executando seu projeto • Execute hello_normal_jomp.java Prof. Paulo Fernando da Silva Reduções Prof. Paulo Fernando da Silva Atividade 3.1 Desenvolva um exemplo que faça a soma dos elementos de uma matriz em paralelo usando o recurso de reduções e o bloco paralelo simples. Prof. Paulo Fernando da Silva Atividade 3.2 Desenvolva uma funcionalidade de Paralelismo de Dados (SIMD) no cenário de seu projeto, usando bloco paralelo simples. Prof. Paulo Fernando da Silva O for paralelo JOMP Prof. Paulo Fernando da Silva O for paralelo • Converta o exemplo • Execute a versão paralela Prof. Paulo Fernando da Silva Atividade 3.3 Desenvolva um exemplo que faça a soma dos elementos de uma matriz em paralelo usando o recurso de reduções e o for paralelo. Prof. Paulo Fernando da Silva Atividade 3.4 Desenvolva uma funcionalidade de Paralelismo de Dados (SIMD) no cenário de seu projeto, usando For Paralelo. Prof. Paulo Fernando da Silva Seção Paralela Prof. Paulo Fernando da Silva Atividade 3.5 Desenvolva uma função de Paralelismo Funcional (MISD ou MIMD) no cenário de seu projeto, usando Seções Paralelas. Prof. Paulo Fernando da Silva Exclusão Mútua – Critical Prof. Paulo Fernando da Silva Atividade 3.6 Desenvolva uma função com critical no cenário de seu projeto, combinado com bloco paralelo simples, for paralelo ou seções paralelas. Prof. Paulo Fernando da Silva Projeto de OMP • Desenvolva seu projeto aplicando os conceitos de OMP • Requisitos: – Bloco paralelo simples – For paralelo – Seção paralela – Uso de Critical e Reduction – Conhecimento \ Complexidade – Plus Prof. Paulo Fernando da Silva