Introducao GPU GPGPU Arquitetura de uma GPU Conclusoes
GPU sob o ponto de vista de arquiteturasparalelas, organizacao interna e utilizacao
em sistemas de paralelismo massivo
Elisa de Cassia Silva Rodrigues
14 de novembro de 2012
GPU sob o ponto de vista de arquiteturas paralelas 1 / 17
Introducao GPU GPGPU Arquitetura de uma GPU Conclusoes
GPU (Graphics Processing Unit)
• Processamento grafico e calculos aritmeticos.
• Mais nucleos de processamento do que as CPUs.
• Menos memoria cache e baixo controle de fluxo.
• Capacidade de processamento paralelo eficiente.
• Evolucao das GPUs:
• 70-80: surgimento das GPUs, com pipelines graficos fixo.
• 90: inclusao de pipelines programaveis (shaders).
• 2000: suporte a ponto flutuante de precisao simples.
• 2006: suporte a ponto flutuante de precisao dupla e a varias
linhas de codigo. Surgimento do conceito GPGPU.
GPU sob o ponto de vista de arquiteturas paralelas 2 / 17
Introducao GPU GPGPU Arquitetura de uma GPU Conclusoes
Evolucao das GPUs NVIDIA 1
1Imagem retirada de [3].GPU sob o ponto de vista de arquiteturas paralelas 3 / 17
Introducao GPU GPGPU Arquitetura de uma GPU Conclusoes
CPU/GPU: poder de precessamento 2
• 2003: trajetorias multicore e many-core.
• 2009: throughput de processamento com ponto flutuante (10
(GPU) para 1 (CPU)).
2Imagem retirada de [2].GPU sob o ponto de vista de arquiteturas paralelas 4 / 17
Introducao GPU GPGPU Arquitetura de uma GPU Conclusoes
CPU/GPU: filosofias de projeto 3
• CPU: alto desempenho em execucao sequencial.
• Grandes memorias cache tentam reduzir a latencia.
• A partir de 2009 houve aumento no numero de nucleos.
• GPU: alto desempenho em execucao paralela.
• Otimizar o throughput de execucao de varias threads.
• Maximar a area do chip e diminuir o gasto de energia.
3Imagem retirada de [2].GPU sob o ponto de vista de arquiteturas paralelas 5 / 17
Introducao GPU GPGPU Arquitetura de uma GPU Conclusoes
GPU e processamento paralelo
• Enquanto uma thread espera as outras processam.
• Minimiza a logica de controle para cada thread.
• Pequenas memorias cache ajudam no controle de BW.
• Projetadas para execucao de computacao numerica intensa.
• Suporte ao padrao de ponto flutuante da IEEE.
• Computacao paralela economicamente atraente para
desenvolvedores.
• Implementacao paralela em GPU pode ser 100 vezes mais rapida.
• Benefıcios futuros com o alto desempenho da computacao paralela.
GPU sob o ponto de vista de arquiteturas paralelas 6 / 17
Introducao GPU GPGPU Arquitetura de uma GPU Conclusoes
GPGPU (General-Purpose Graphics Processing Unit)
• GPU para resolver calculos intensos de engenharia e ciencia.
• Projetadas para caracterısticas de programas graficos.
• Dificuldade de programacao de proposito geral.
• Introducao da arquitetura CUDA pela NVIDIA (2006).
• Surgimento do termo GPGPU.
• Geracoes de GPGPUs lancadas pela NVIDIA:
• 2006: G80 (GeForce GTX 8800).
• 2008: G200 (GeForce GTX 280).
• 2009: Fermi.
• 2012: Kepler.
GPU sob o ponto de vista de arquiteturas paralelas 7 / 17
Introducao GPU GPGPU Arquitetura de uma GPU Conclusoes
CUDA (Compute Unified Device Architecture)
• Modelo de programacao e plataforma de computacao paralela.
• Facilita a interface entre programador e aplicacoes GPU.
• Fornece abstracoes simples da organizacao das threads,
sincronizacao e memoria.
• Pretende melhorar o aproveitamento do poder de
processamento da GPU.
• Oferece suporte a linguages C, C++, Fortran, OpenCL e
DirectX.
GPU sob o ponto de vista de arquiteturas paralelas 8 / 17
Introducao GPU GPGPU Arquitetura de uma GPU Conclusoes
Arquitetura de uma GPU com suporte a CUDA 4
4Imagem retirada de [2].GPU sob o ponto de vista de arquiteturas paralelas 9 / 17
Introducao GPU GPGPU Arquitetura de uma GPU Conclusoes
Arquitetura da GPU Fermi 5
5Imagens retiradas de [3].GPU sob o ponto de vista de arquiteturas paralelas 10 / 17
Introducao GPU GPGPU Arquitetura de uma GPU Conclusoes
Arquitetura Unificada
• Nucleos CPU e nucleos GPU dentro de um unico chip.
• Melhora o desempenho e a eficiencia energetica.
• O nucleos quase sempre trabalham em funcoes separadas.
• Raramente colaboram para executar um programa.
• Concorrentes no mercado: NVIDIA, Intel e AMD.
• 2006: fusao entre a ATI e AMD e anuncio de integracao CPU/GPU.
• 2010: lancamento do processador AMD Fusion (GPU ATI)
• 2011: lancamento da microarquiteutura Sandy Bridge pela Intel(GPU NVIDIA).
GPU sob o ponto de vista de arquiteturas paralelas 11 / 17
Introducao GPU GPGPU Arquitetura de uma GPU Conclusoes
Arquitetura Unificada
• 2012: Nova tecnica propoe a colaboracao entre CPU e GPU 6.
• Melhora o desempenho em aproximadamente 20%.
• Nao exige nenhuma tecnologia nova de hardware.
• Permite dedicacao da GPU aos calculos.
• CPUs carregam e preparam os dados vindos da memoria.
• Aproveita rapidez das GPUs e flexibilidade das CPUs.
6Tecnica proposta por Yang et al. [4].GPU sob o ponto de vista de arquiteturas paralelas 12 / 17
Introducao GPU GPGPU Arquitetura de uma GPU Conclusoes
Sistemas de Paralelismo Massivo 7
• Exemplo: supercomputador Titan, lancado em 2012.
• Capacidade de processamento de 20 petaflops.
• Sistema de paralelismo massivo Cray XK7.
• 18.688 nos (uma CPU de 2.2 GHz AMD 16-core Opteron
6274 e uma GPU NVIDIA K20 Tesla) e 710 TB de memoria.
7Imagem retirada de [1].GPU sob o ponto de vista de arquiteturas paralelas 13 / 17
Introducao GPU GPGPU Arquitetura de uma GPU Conclusoes
Conclusoes
• GPU possui uma arquitetura massivamente paralela.
• Muitos problemas podem ser resolvidos utilizando GPU.
• Grande capacidade de processamento de calculos e graficos.
• Crescimento do numero de nucleos e area livre do chip.
• A utilizacao da GPU tende a se generalizar com as GPGPUs.
GPU sob o ponto de vista de arquiteturas paralelas 14 / 17
Introducao GPU GPGPU Arquitetura de uma GPU Conclusoes
Conclusoes
• Introducao de tecnicas mais sofisticadas visando o aumento
da utilizacao das unidades de calculos.
• Ainda existem dificuldades de programacao.
• Desenvolvimento de novas tecnicas, linguagens, compiladores
e aprimoramento dos modelos de programacao.
• Crescimento do numero de sistemas de paralelismo massivo
que utilizam GPUs.
GPU sob o ponto de vista de arquiteturas paralelas 15 / 17
Introducao GPU GPGPU Arquitetura de uma GPU Conclusoes
Referencias Bibliograficas
http://www.tecnoblog.net/118348/titan-supercomputador/.
David B. Kirk and Wen-mei W. Hwu.
Programming Massively Parallel Processors: A Hands-on Approach.
Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 1stedition, 2010.
John Nickolls and William J. Dally.
The GPU Computing Era.
IEEE Micro, 30(2):56–69, March 2010.
Yi Yang, Ping Xiang, Mike Mantor, and Huiyang Zhou.
Cpu-assisted GPGPU on fused CPU-GPU architectures.
In Proceedings of the 2012 IEEE 18th International Symposium onHigh-Performance Computer Architecture, HPCA ’12, pages 1–12,Washington, DC, USA, 2012. IEEE Computer Society.
GPU sob o ponto de vista de arquiteturas paralelas 16 / 17
Introducao GPU GPGPU Arquitetura de uma GPU Conclusoes
Obrigada pela atencao!
GPU sob o ponto de vista de arquiteturas paralelas 17 / 17
Top Related