Your SlideShare is downloading. ×
0
Computação paralela utilizando OpenMP para aplicações matemáticos
Computação paralela utilizando OpenMP para aplicações matemáticos
Computação paralela utilizando OpenMP para aplicações matemáticos
Computação paralela utilizando OpenMP para aplicações matemáticos
Computação paralela utilizando OpenMP para aplicações matemáticos
Computação paralela utilizando OpenMP para aplicações matemáticos
Computação paralela utilizando OpenMP para aplicações matemáticos
Computação paralela utilizando OpenMP para aplicações matemáticos
Computação paralela utilizando OpenMP para aplicações matemáticos
Computação paralela utilizando OpenMP para aplicações matemáticos
Computação paralela utilizando OpenMP para aplicações matemáticos
Computação paralela utilizando OpenMP para aplicações matemáticos
Computação paralela utilizando OpenMP para aplicações matemáticos
Computação paralela utilizando OpenMP para aplicações matemáticos
Computação paralela utilizando OpenMP para aplicações matemáticos
Computação paralela utilizando OpenMP para aplicações matemáticos
Computação paralela utilizando OpenMP para aplicações matemáticos
Computação paralela utilizando OpenMP para aplicações matemáticos
Computação paralela utilizando OpenMP para aplicações matemáticos
Computação paralela utilizando OpenMP para aplicações matemáticos
Computação paralela utilizando OpenMP para aplicações matemáticos
Computação paralela utilizando OpenMP para aplicações matemáticos
Computação paralela utilizando OpenMP para aplicações matemáticos
Computação paralela utilizando OpenMP para aplicações matemáticos
Computação paralela utilizando OpenMP para aplicações matemáticos
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Computação paralela utilizando OpenMP para aplicações matemáticos

57

Published on

Apresentação final do Trabalho de Conclusão de Curso focado em Computação Paralela por memória compartilhada utilizando a bliblioteca OpenMP para paralelização de aplicações matemáticas

Apresentação final do Trabalho de Conclusão de Curso focado em Computação Paralela por memória compartilhada utilizando a bliblioteca OpenMP para paralelização de aplicações matemáticas

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
57
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Faculdade de Tecnologia Trabalho de Graduação Interdisciplinar Utilização da Biblioteca OpenMP para a Paralelização de Aplicações Matemáticas Universidade Estadual de Campinas, Julho de 2009
  • 2. Alunos: Adriano da Silva Ferreira Bruno dos Santos Hecht Orientadora: Profª. Dra. Marli de Freitas Gomes Hernandez Co-orientador: M.Sc. Igor José Ferreira de Freitas Universidade Estadual de Campinas, Julho de 2009
  • 3. Roteiro         Motivação Objetivo OpenMP Contexto OpenMP Ambiente de testes Resultados Apresentação prática Conclusões Adriano da Silva Ferreira
  • 4. Motivação Investigar ganhos em desempenho computacional através da paralelização de aplicações e utilização eficiente dos recursos de multiprocessamento. Adriano da Silva Ferreira
  • 5. Objetivo Utilizar-se da API OpenMP e ferramentas associadas visando a otimização de rendimento em códigos paralelizados. Adriano da Silva Ferreira
  • 6. OpenMP  O que é a API OpenMP  Interface para desenvolvimento de aplicaçãoes paralelizadas em ambientes multithreading e de memória compartilhada;  Versão Atual do OpenMP: 3.0;  O OpenMP está contido em uma das abordagens do Paralelismo Computacional; Adriano da Silva Ferreira
  • 7. OpenMP  Funcionamento da interface :  Aplicabilidade para as Linguagens C/C++ e Fortran;  Baseado em diretivas de compilação (compilador OpenMP);  Sintaxe para o C/C++: #pragma omp nome da diretiva [cláusula[[,] cláusula]...] / nova linha Adriano da Silva Ferreira
  • 8. OpenMP  Extensão à linguagem de programação;  Delimita uma região paralelizável: #pragma omp parallel for default(none) private(i) for (int i = 0; i <= tamanho_vetor; i++) // início da região { vetor[i] = i + vetor[i * i]; } // fim da região Adriano da Silva Ferreira
  • 9. OpenMP • Abrangência do OpenMP: Adriano da Silva Ferreira
  • 10. Contexto OpenMP • Sistema MultiThreading;  Threads: entidade capaz de executar independentemente um fluxo de dados de uma instrução;  Sistema Multithreading remete à muitas threads; Adriano da Silva Ferreira
  • 11. Contexto OpenMP  Mecanismo multithreading implementado pelo OpenMP:
  • 12. Contexto OpenMP  Mecanismo multithreading implementado pelo OpenMP:  O trabalho será divido entre as Threads;  Sincronização entre Threads:  Dados compartilhados  Dados privados  Geração do montante de trabalho final; Adriano da Silva Ferreira
  • 13. Contexto OpenMP  Contexto de Hardware do OpenMP;  Taxonomia de Flynn;  Arquitetura MIMD (Multiple Instrucition, Multiple Data);  Clusters, NUMA, SMP: especificações da arquitetura; Adriano da Silva Ferreira
  • 14. Contexto OpenMP  Contexto de Hardware do OpenMP: Adriano da Silva Ferreira
  • 15. Contexto OpenMP  Arquitetura SMP – Processadores Simétricos     Processadores com mesma distância à memória; Idênticos na arquitetura; Cache privada (dados privados); TLB em sistemas de memória virtual; Adriano da Silva Ferreira
  • 16. Contexto OpenMP  Arquitetura SMP – Processadores Simétricos / Dual Core Genérico: Adriano da Silva Ferreira
  • 17. Ambiente de testes • Arquitetura 64bits; • Vantagens de se utilizar Sistema Operacional Linux; Bruno dos Santos Hecht
  • 18. Ambiente de testes • Compildor GCC; • Ajustes e ferramentas de apoio; Bruno dos Santos Hecht
  • 19. Ambiente de testes ... #pragma omp shared for for (K=1; K<N; K++) { for (I=K+1; I<=N; I++) { #pragma omp critical(B) B[I] -= A[I][K] / A[K][K] * B[K]; for (J=K+1; J<=N; J++) #pragma omp critical(A) A[I][J] -= A[I][K] / A[K][K] * A[K][J]; } ... Bruno dos Santos Hecht
  • 20. Ambiente de testes ... #pragma omp parallel for shared(MATRIX_DIM, a, x, / last_iteration, b) private(i, j) reduction(+:sigma1) for (i = 0; i < MATRIX_DIM; i++) { ... Bruno dos Santos Hecht
  • 21. Ambiente de testes ... #pragma omp atomic iteration++; ... Bruno dos Santos Hecht
  • 22. Resultados Comparativo de desempenho (arquitetura 1) 200 180 175.4 160 155.94 tempo (s) 140 146.9 120 116.54 Sequencial 100 Paralelo 80 60 40 20 6.43 3.66 0 Transformação Linear Matriz Bruno dos Santos Hecht Jacobi e Gauss-Seidel
  • 23. Resultados Comparativo de desempenho (arquitetura 2) 180 160 158.6 140 tempo (s) 140.04 131.44 120 124.5 100 Sequencial 80 Paralelo 60 40 20 5.73 3.55 0 Transformação Linear Matriz Bruno dos Santos Hecht Jacobi e Gauss-Seidel
  • 24. Apresentação prática Bruno dos Santos Hecht
  • 25. Conclusões • Resultados satisfatórios; • Aplicação abrangente; • Abertura para trabalhos futuros.

×