Your SlideShare is downloading. ×
0
Ferramentas de Programação Paralela para Arquiteturas Multicore
Ferramentas de Programação Paralela para Arquiteturas Multicore
Ferramentas de Programação Paralela para Arquiteturas Multicore
Ferramentas de Programação Paralela para Arquiteturas Multicore
Ferramentas de Programação Paralela para Arquiteturas Multicore
Ferramentas de Programação Paralela para Arquiteturas Multicore
Ferramentas de Programação Paralela para Arquiteturas Multicore
Ferramentas de Programação Paralela para Arquiteturas Multicore
Ferramentas de Programação Paralela para Arquiteturas Multicore
Ferramentas de Programação Paralela para Arquiteturas Multicore
Ferramentas de Programação Paralela para Arquiteturas Multicore
Ferramentas de Programação Paralela para Arquiteturas Multicore
Ferramentas de Programação Paralela para Arquiteturas Multicore
Ferramentas de Programação Paralela para Arquiteturas Multicore
Ferramentas de Programação Paralela para Arquiteturas Multicore
Ferramentas de Programação Paralela para Arquiteturas Multicore
Ferramentas de Programação Paralela para Arquiteturas Multicore
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

Ferramentas de Programação Paralela para Arquiteturas Multicore

1,728

Published on

Slides apresentados na 10ª Escola Regional de Alto Desempenho

Slides apresentados na 10ª Escola Regional de Alto Desempenho

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

No Downloads
Views
Total Views
1,728
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
41
Comments
0
Likes
2
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. Ferramentas de Programação Paralela para Arquiteturas Multicore Acadêmicos: Helton Eduardo Ritter Maycon Viana Bordin
  • 2. Metodologia • Pesquisa bibliográfica e laboratorial; • Acadêmicos do cursos de Sistemas de Informação; • Primeiro e segundo semestre de 2009;
  • 3. Problema • A evolução do hardware supera a do software; • Fazer uso otimizado dos recursos computacionais; • Computação em aplicações críticas;
  • 4. Objetivos • Estudar o estado da arte; • Conhecer as principais classes de aplicações; • Identificar as principais bibliotecas e linguagens; • Desenvolver algoritmos de testes;
  • 5. Aplicações • Áreas que demandam muita capacidade de processamento; • Medicina e biociências, meteorologia, oceanografia, comércio e finanças e astronomia.... • Sequenciamento genético, modelos econômicos, mapeamento da galáxia...
  • 6. Memória compartilhada • Faz-se uso de um único endereçamento de memória; • Os aplicativos acessam variáves compartilhadas em um espaço comum;
  • 7. PThreads • PThreads é uma Interface Portável para Sistemas Operacionais (POSIX) padrão IEEE 1003.1c; • Linguagem C/C++; • Plataforma Unix e Windows; • Controle das threads é feito pelo programador; • Evitar deadlocks; • Sincronização e controle das threads;
  • 8. Cilk • Grupo de Supercomputação do MIT; • Linguagem se baseia na linguagem C ANSI; • Versões para as plataformas GNU/Linux, MacOS X e Windows; • Cilk é encarregado de escalonar as tarefas; • Compartilhamento e/ou roubo de tarefas; • Paralelismo na medida certa, minimizando a quantidade de threads e maximizando a eficiência;
  • 9. TBB - Threads Building Blocks • Biblioteca para C++ desenvolvida pela Intel; • Processadores multicore; • Sistemas Windows, Mac OS e Linux; • Paralelização de programas em alto nível;
  • 10. OpenMP • Em 2005 versão para Fortran/C/C++; • Paralelizar algoritmos sequencias de modo facilitado; • Uma thread mestre que irá designar as tarefas para as outras threads; • Escalabilidade é limitada pela arquitetura de memória;
  • 11. HPF - High Performance Fortran • Extensão de Fortran 90; • Cada processo trabalha no segmento de dados em que é dono no mapa de memória; • Dados distribuídos para não haver dependências entre eles; • Portabilidade para diferentes arquiteturas;
  • 12. Cuda - nVidia • Disponível nas linhas GeForce (a partir da Série 8), Quadro e a linha Tesla; • GPGPU (General-purpose computing on Graphics Processing Units). • Memória compartilhada de acesso rápido; • Leitura de endereços arbitrários na memória; • Funções recursivas não são suportadas; • Precisão do tipo Double não segue o padrão IEEE 754;
  • 13. Resultados Multiplicação de matriz de 1024x1024 Java seq = 18,00543 Java paralelo = 9,096539718 C Seq/fast = 0,636755667 C OpenMP/fast = 0,258097
  • 14. Resultados
  • 15. Avaliação
  • 16. Conclusões • Pragmas de compilador é mais simples, quando o código é facilmente paralelizável; • Autoparalelização; • CUDA em fase de testes, logo HPF e OpenMP continuam sendo as principais alternativas; • TBB surgiu com enfoque em multicore; • A escolha da ferramenta vai depender da aplicação em questão.
  • 17. Referências

×