Arquitetura e organização interna de GPUs - DECOM-UFOP · ARQUITETURA E ORGANIZAÇÃO INTERNA DE...

Post on 12-Dec-2018

219 views 0 download

Transcript of Arquitetura e organização interna de GPUs - DECOM-UFOP · ARQUITETURA E ORGANIZAÇÃO INTERNA DE...

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

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.