Upload
phamphuc
View
219
Download
0
Embed Size (px)
Citation preview
ARQUITETURA E ORGANIZAÇÃO
INTERNA DE GPUs
Universidade Federal de Ouro Preto
Organização e Arquitetura de Computadores II
Leonardo Junio de Oliveira – 12.2.8343
João Paulo Ferreira Beltrame – 13.1.8083
1. INTRODUÇÃO
Processadores no início da computação
Demanda por desempenho
Limites físicos do silício
Necessidade de novos recursos
GPUs
Suporte Gráfico
Paralelismo
Fonte: http://www.nvidia.com/object/gpu.html
PLACA GRAFICA
Componentes de maior importância em uma placa de vídeo
Fonte: http://www.akshatblog.com/graphics-card-components-explained-in-detail/
ARQUITETURA DE UMA GPU
Básico
Streaming Multiprocessor
Fonte: http://paradiseo.gforge.inria.fr/index.php?n=Doc.TutoGPULesson3
ARQUITETURA DE UMA GPU
Arquitetura NVIDIA
Fonte:
https://www.researchgate.net/profile/Leandro_Zanotto/publication/266482328_Ar
quitetura_e_Programao_de_GPU_Nvidia/links/55a6a87f08ae51639c5739c7.pdf
GPGPU REVOLUCIONOU A COMPUTAÇÃO
GPUs têm milhares de núcleos para processar cargas de trabalho paralelas de
forma eficiente.
Fonte: http://www.mathworks.com/company/newsletters/articles/gpu-
programming-in-matlab.html?requestedDomain=www.mathworks.com
GPU vs CPU
CPU
Otimizado para acesso de baixa latência a conjuntos de memória em cache
Controle logico para execuções especulativas fora de ordem
GPU
Otimizado para trabalhar com paralelismo e transferência de dados
Arquitetura tolerante para latência de memoria
Mais transistores dedicados para cálculos
Fonte: http://www.cc.gatech.edu/~vetter/keeneland/tutorial-2011-04-14/02-cuda-overview.pdf
COMPARAÇÃO ATUAL
Fonte: https://www.youtube.com/watch?v=qk-xfVrgBbU
ANALOGIA ENTRE CPU E GPU
Fonte: https://www.youtube.com/watch?v=-P28LKWTzrI
COMPUTAÇÃO COM ACELERAÇÃO DE GPU
COMO APLICAÇÕES COM GPUS SÃO MAIS RÁPIDAS?
Fonte: http://www.nvidia.com/object/what-is-gpu-computing.html
PIPELINE GRAFICO
Criação de uma imagem simples
Fonte: http://romain.vergne.free.fr/teaching/IS/SI03-pipeline.html
TRANFORMAÇÕES UTILIZANDO MATRIZES
Translação
Escala
EVOLUÇÃO DAS GPUs
Foco de processamento
Novos Recursos
https://cavernadati.wordpress.com/category/pontos-de-vista/gpu/
NVIDIA
Ano Produto Novos Recursos OpenGL Direct3D
2000 GeForce 256 Transformação de hardware e iluminação, sombreamento
de ponto fixo configurável, mapa de cubos, compressão
de texturas, filtro de textura anisotrópico
1.3 DX7
2001 GeForce 3 Transformação de vértices programáveis, 4 unidades de
textura, texturas dependentes, texturas 3d, mapa de
sombras, multisampling, consultas de obstrução
1.4 DX8
2002 GeForce 4 Ti 4600 Z-buffer e duplo-monitor 1.4 DX8.1
2003 GeForce FX 16 unidades de textura, texturas de ponto flutuante
limitadas, compressão de cor e profundidade.1.5 DX9
2004 GeForce 6800 Ultra Textura de vértices, ramificação fragmentada de
estruturas, texturas de ponto flutuante generalizadas,
textura sem potencia de 2, filtro de textura de ponto
flutuante.
2.0 DX9c
2005 GeForce 7800 GTX Anti-aliasing de transparência 2.0 DX9c
MODELO DE PROGRAMAÇÃODE GPUs
OpenGL (Open Graphics Library)
Histórico
Aplicação
OpenCL (Open Computing Language)
Histórico
Aplicação
ABORDAGEM CUDA
Plataforma CUDA
Histórico
Características
Vantagens
Limitações
Aplicações
DÚVIDAS
REFERÊNCIAS
GPGPU: Comparação de Aceleradores AMD, NVIDIA e INTEL Utilizando a Biblioteca OPENCL. Disponível em: <http://bibliodigital.unijui.edu.br:8080/xmlui/bitstream/handle/123456789/1550/TCC%20UNIJU%C3%8D.pdf?sequence=1>. Acesso em 23 de julho de 2016.
Arquitetura Massivamente Paralela GPU. Disponível em: <http://www.portaleducacao.com.br/informatica/artigos/21280/arquitetura-massivamente-paralela-gpu>. Acesso em 23 de julho de 2016.
Arquitetura e Programação de GPU Nvidia. Disponível em: <https://www.researchgate.net/profile/Leandro_Zanotto/publication/266482328_Arquitetura_e_Programao_de_GPU_Nvidia/links/55a6a87f08ae51639c5739c7.pdf>. Acesso em 23 de julho de 2016.
O que é Computação acelerada com GPU. Disponível em: <http://www.nvidia.com/object/what-is-gpu-computing.html>. Acesso em 23 de julho de 2016.
Pré-requisitos de Solução para ParadiseEO-GPU. Disponível em: <http://paradiseo.gforge.inria.fr/index.php?n=Doc.TutoGPULesson3>. Acesso em 23 de julho de 2016.
Qual a diferença entre uma CPU E UMA GPU. Disponível em:
<https://blogs.nvidia.com/blog/2009/12/16/whats-the-difference-between-
a-cpu-and-a-gpu/>. Acesso em 23 de julho de 2016.
CUDA Overview. Disponível em:
<http://www.cc.gatech.edu/~vetter/keeneland/tutorial-2011-04-14/02-
cuda-overview.pdf>. Acesso em 23 de julho de 2016.
GPU do Princípio até a Computação de Propósito Geral. Disponível em:
<https://cavernadati.wordpress.com/category/pontos-de-vista/gpu/>. Acesso
em 23 de julho de 2016.
GPU. Disponível em: <http://www.nvidia.com/object/gpu.html>. Acesso em
23 de julho de 2016.
OpenGL. Disponível em: <https://www.khronos.org/opengl/>. Acesso em 23
de julho de 2016.
REFERÊNCIAS
REFERÊNCIAS
Open CL. Disponível em: <https://www.khronos.org/opencl/>. Acesso em 23
de julho de 2016.