gpu sob o ponto de vista de arquiteturas paralelas ...cortes/mo601/trabalho_mo601/...exemplo:...

17
Introdu¸c˜ ao GPU GPGPU Arquitetura de uma GPU Conclus˜oes GPU sob o ponto de vista de arquiteturas paralelas,organiza¸c˜ ao interna e utiliza¸c˜ ao em sistemas de paralelismo massivo Elisa de C´ assia Silva Rodrigues 14 de novembro de 2012 GPU sob o ponto de vista de arquiteturas paralelas 1 / 17

Upload: others

Post on 16-Sep-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GPU sob o ponto de vista de arquiteturas paralelas ...cortes/mo601/trabalho_mo601/...Exemplo: supercomputador Titan, lan˘cado em 2012. Capacidade de processamento de 20 peta ops

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

Page 2: GPU sob o ponto de vista de arquiteturas paralelas ...cortes/mo601/trabalho_mo601/...Exemplo: supercomputador Titan, lan˘cado em 2012. Capacidade de processamento de 20 peta ops

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

Page 3: GPU sob o ponto de vista de arquiteturas paralelas ...cortes/mo601/trabalho_mo601/...Exemplo: supercomputador Titan, lan˘cado em 2012. Capacidade de processamento de 20 peta ops

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

Page 4: GPU sob o ponto de vista de arquiteturas paralelas ...cortes/mo601/trabalho_mo601/...Exemplo: supercomputador Titan, lan˘cado em 2012. Capacidade de processamento de 20 peta ops

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

Page 5: GPU sob o ponto de vista de arquiteturas paralelas ...cortes/mo601/trabalho_mo601/...Exemplo: supercomputador Titan, lan˘cado em 2012. Capacidade de processamento de 20 peta ops

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

Page 6: GPU sob o ponto de vista de arquiteturas paralelas ...cortes/mo601/trabalho_mo601/...Exemplo: supercomputador Titan, lan˘cado em 2012. Capacidade de processamento de 20 peta ops

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

Page 7: GPU sob o ponto de vista de arquiteturas paralelas ...cortes/mo601/trabalho_mo601/...Exemplo: supercomputador Titan, lan˘cado em 2012. Capacidade de processamento de 20 peta ops

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

Page 8: GPU sob o ponto de vista de arquiteturas paralelas ...cortes/mo601/trabalho_mo601/...Exemplo: supercomputador Titan, lan˘cado em 2012. Capacidade de processamento de 20 peta ops

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

Page 9: GPU sob o ponto de vista de arquiteturas paralelas ...cortes/mo601/trabalho_mo601/...Exemplo: supercomputador Titan, lan˘cado em 2012. Capacidade de processamento de 20 peta ops

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

Page 10: GPU sob o ponto de vista de arquiteturas paralelas ...cortes/mo601/trabalho_mo601/...Exemplo: supercomputador Titan, lan˘cado em 2012. Capacidade de processamento de 20 peta ops

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

Page 11: GPU sob o ponto de vista de arquiteturas paralelas ...cortes/mo601/trabalho_mo601/...Exemplo: supercomputador Titan, lan˘cado em 2012. Capacidade de processamento de 20 peta ops

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

Page 12: GPU sob o ponto de vista de arquiteturas paralelas ...cortes/mo601/trabalho_mo601/...Exemplo: supercomputador Titan, lan˘cado em 2012. Capacidade de processamento de 20 peta ops

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

Page 13: GPU sob o ponto de vista de arquiteturas paralelas ...cortes/mo601/trabalho_mo601/...Exemplo: supercomputador Titan, lan˘cado em 2012. Capacidade de processamento de 20 peta ops

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

Page 14: GPU sob o ponto de vista de arquiteturas paralelas ...cortes/mo601/trabalho_mo601/...Exemplo: supercomputador Titan, lan˘cado em 2012. Capacidade de processamento de 20 peta ops

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

Page 15: GPU sob o ponto de vista de arquiteturas paralelas ...cortes/mo601/trabalho_mo601/...Exemplo: supercomputador Titan, lan˘cado em 2012. Capacidade de processamento de 20 peta ops

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

Page 16: GPU sob o ponto de vista de arquiteturas paralelas ...cortes/mo601/trabalho_mo601/...Exemplo: supercomputador Titan, lan˘cado em 2012. Capacidade de processamento de 20 peta ops

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

Page 17: GPU sob o ponto de vista de arquiteturas paralelas ...cortes/mo601/trabalho_mo601/...Exemplo: supercomputador Titan, lan˘cado em 2012. Capacidade de processamento de 20 peta ops

Introducao GPU GPGPU Arquitetura de uma GPU Conclusoes

Obrigada pela atencao!

GPU sob o ponto de vista de arquiteturas paralelas 17 / 17