TCC Pré Banca

Preview:

DESCRIPTION

Os slides da minha pré banca. More here: http://arthurgregorio.eti.br/blog/78-programacao/87-faculdade-tcc-e-o-cuda

Citation preview

Processamento de Imagens de alta qualidade com

GPGPU’sArthur Pereira Gregório

Rodrigo Zanatta Rodriguez

CENTRO DE ENSINO SUPERIOR DE FOZ DO IGUAÇUCURSO DE CIÊNCIA DA COMPUTAÇÃO

TRABALHO DE CURSO

Orientador: Prof. Gildomiro Bairros

2

Agenda

• Introdução

• Objetivo Geral

• Objetivos Específicos

• Justificativa

• Fundamentação

• Ambiente Experimental

• Próximas Etapas

• Principais Referências

3

Introdução

Com a constante evolução do cenário computacional moderno, a demanda por grande poder de processamento paralelo aumentou significativamente em áreas como Ciência, Saúde, Engenharia e Negócios.

Tais áreas hoje empregam massivamente sistemas GPGPU devido a grande quantidade de dados a serem processados.

4

Introdução

Visando este novo nicho de mercado este trabalho irá apresentar uma análise de desempenho entre um sistema GPGPU e um sistema com apenas um CPU na criação de imagens de alta qualidade utilizando como técnica de iluminação algoritmos de Ray Tracing.

5

• Apresentar uma analise de desempenho que possa indicar a viabilidade do uso de um sistema CPU + GPU em relação a um sistemas que utilize apenas uma CPU através da implementação de algoritmos de Ray Tracing para geração de imagens que contenham uma alta qualidade de iluminação.

Objetivo Geral

6

Objetivos Específicos

• Conceituar programação paralela e Ray Tracing;

• Demonstrar conceitos sobre CPU Multicore, GPU e CUDA;

• Apontar as vantagens de se utilizar paralelismo em sistemas GPGPU com relação a sistemas com CPU's multicore;

• Apresentar testes (Benchmarks) de desempenho entre as plataformas levando em conta o tempo (em “ms”) gasto para processar cada cena e/ou imagem.

7

Justificativa

• Pouco material que aponte as diferenças e ganhos de performance entre a plataforma GPGPU e uma que empregue apenas uma CPU;

• A crescente demanda por pesquisas na área de Sistemas Heterogêneos;

• O estado atual do mercado computacional onde as grandes empresas empregam soluções GPGPU em seus datacenters.

8

Fundamentação

• Programação Paralela: consiste na

utilização de vários processadores para

execução de partes diferentes de um

mesmo programa.

9

Fundamentação

• GPGPU: indica o uso de um sistema

heterogêneo que faz a união do poder de

paralelismo de uma GPU com o poder de

controle de uma CPU para

processamentos de propósito geral.

10

Fundamentação

Esquema de um sistema GPGPU

11

Fundamentação

• CUDA: é uma arquitetura de computação

paralela criada pela nVidia em 2007, que

possibilita o aproveitamento de suas

GPU’s em processamentos de propósito

geral, GPGPU.

12

Fundamentação

• Ray Tracing: é um algoritmo utilizado

para dar mais realidade a iluminação de

uma cena através de técnicas de

traçados de raios.

13

Fundamentação

14

• O Estudo de caso: processamento de imagens em

um sistema GPGPU composto por uma placa de

vídeo e uma CPU multicore.

• Principais ferramentas a serem utilizadas:

• Visual Studio;

• CUDA SDK;

• NVIDIA Parallel Nsight.

Ambiente Experimental

15

• Definição dos algoritmos de iluminação a serem

usados;

• Criação dos primeiros códigos de teste;

• Tabulação dos resultados obtidos;

• Otimização dos códigos e nova execução para

comparar com os testes executados anteriormente.

Próximas Etapas

16

Principais Referencias Bibliográficas

• DAVID B. KIRK, W.-M. W. H. Programando para

Processadores Paralelos, Uma Abordagem Prática

a Programação de GPU. Rio de Janeiro: Campus /

Elsevier, 2010.

• CORP. nVidia. What is GPU Computing? 2008.

Disponível em: <http://www.nvidia.com/object/GPU

Computing.html> . Acesso em: 14/05/2011.

17

Principais Referencias Bibliográficas

• HSU, S.-H. GPGPU Programming. 2005. Disponível

em:<http://graphics.im.ntu.edu.tw/

vincent/resource/gpgpu/GPGPU_Programming.pdf>

Acesso em: 19/05/2011.

• SILVA, F. W. S. V. da. Introdução ao Ray Tracing.

Rio de Janeiro: Laboratório de Computação Gráfica

LCG COPPE/UFRJ - Engenharia de Sistemas e

Computação, 2008.