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
Download

Prof. Paulo Fernando da Silva