Prof. Paulo Fernando da Silva Sistemas Concorrentes Capítulo 03 – OMP.

Post on 19-Apr-2015

104 views 0 download

Transcript of Prof. Paulo Fernando da Silva Sistemas Concorrentes Capítulo 03 – OMP.

Prof. Paulo Fernando da Silva

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