TCC Apresentacao Final

20
GPU COMPUTING VS. CPU MULTINUCLEAR: ANÁLISE DE DESEMPENHO PARA PROCESSAMENTO DE ILUMINAÇÃO POR RAY TRACING EM MODELOS TRIDIMENSIONAIS Arthur Pereira Gregório Rodigo Zanatta Rodriguez Centro de Ensino Superior de Foz do Iguaçu Ciência da Computação - Trabalho de Curso II

Transcript of TCC Apresentacao Final

Page 1: TCC Apresentacao Final

GPU COMPUTING VS. CPU MULTINUCLEAR: ANÁLISE DE

DESEMPENHO PARA PROCESSAMENTO DE

ILUMINAÇÃO POR RAY TRACING EM MODELOS

TRIDIMENSIONAIS

Arthur Pereira GregórioRodigo Zanatta Rodriguez

Centro de Ensino Superior de Foz do IguaçuCiência da Computação - Trabalho de Curso II

Page 2: TCC Apresentacao Final

ROTEIRO

• Objetivo Geral • Descrição do Ambiente Experimental • Implementação• Análise dos Resultados• Considerações Finais • Trabalhos Futuros• Principais Bibliografias

2

Page 3: TCC Apresentacao Final

OBJETIVO GERAL

Apresentar um comparativo de desempenho que possa indicar a viabilidade do uso de sistemas GPGPU em relação ao um sistema composto apenas por uma CPU multinuclear para renderização de objetos tridimensionais iluminados por Ray Tracing.

3

Page 4: TCC Apresentacao Final

AMBIENTE EXPERIMENTAL

• Estrutura de Hardware:• Processador Intel Core i5 2500K

• 3.3Ghz, 6MB Cache L3, 4 cores e 4 threads• Placa mãe AsRock P67 Extreme6• Memórias Corsair Vengeance

• DDR-3, 2 x 4GB, 1866Mhz• Placa de vídeo Zotac GeForce GTX 580

• 772Mhz, 512 CUDA Cores, 1536GB GDDR-5

4

VS.

Page 5: TCC Apresentacao Final

AMBIENTE EXPERIMENTAL

• Estrutura de Software:• Ubuntu 10.04.3 LTS x64• CUDA Toolkit 3.2 x64• Intel® Threading Building Blocks 4.0• Renderer C++ versão 2.2s• Renderer Cuda versão 2.2h• Compilador GNU GCC/G++ versão 4.4.3

5

Page 6: TCC Apresentacao Final

IMPLEMENTAÇÃO

• Os testes foram baseados em dois modos de renderização presentes na renderer:• Modo 0: renderização do modelo

tridimensional, iluminação por ray tracing e suavização das bordas da imagem com o uso de anti-aliasing morfológico (MLAA)

• Modo 9: renderização do modelo tridimensional, iluminação por ray tracing sem suavização de bordas na imagem

• Em ambos os casos foram utilizados 60 quadros para a medição do desempenho

6

Page 7: TCC Apresentacao Final

IMPLEMENTAÇÃO

Os modelos utilizados possuem três níveis de complexidade:

7

Page 8: TCC Apresentacao Final

IMPLEMENTAÇÃO

• Baixa Complexidade: Chessboard, 46658 triângulos e 32488 vértices

8

Page 9: TCC Apresentacao Final

IMPLEMENTAÇÃO

• Média Complexidade: Dodge Challenger 2007, 1067082 triângulos e 355694 vértices

9

Page 10: TCC Apresentacao Final

IMPLEMENTAÇÃO

• Alta Complexidade: Happy, 543652 triângulos e 1087716 vértices

10

Page 11: TCC Apresentacao Final

RESULTADOS

• Modelo de baixa complexidade, tempo de renderização:

11

Page 12: TCC Apresentacao Final

RESULTADOS

• Modelo de baixa complexidade, quadros pro segundo:

12

Page 13: TCC Apresentacao Final

RESULTADOS

• Modelo de média complexidade, tempo de renderização:

13

Page 14: TCC Apresentacao Final

RESULTADOS

• Modelo de média complexidade, quantidade de quadros pro segundo:

14

Page 15: TCC Apresentacao Final

RESULTADOS

• Modelo de alta complexidade, tempo de renderização:

15

Page 16: TCC Apresentacao Final

RESULTADOS

• Modelo de alta complexidade, quantidade de quadros pro segundo:

16

Page 17: TCC Apresentacao Final

CONSIDERAÇÕES FINAIS

• Durante os testes com os modelos de baixa e média complexidade o CUDA foi em média 1800% mais rápido que a CPU multinuclear;

• O teste com o modelo de alta complexidade não pode ser completado na plataforma GPGPU devido a uma limitação do tempo de execução para o CUDA em GPU’s compartilhadas com o ambiente gráfico do sistema;

• Em ambientes de produção o uso de uma placa dedicada para aplicativos escritos utilizando a API CUDA é essencial para evitar problemas e obter o máximo de desempenho.

17

Page 18: TCC Apresentacao Final

TRABALHOS FUTUROS

Criar um novo estudo de caso utilizando uma placa específica para execução de aplicativos que utilizem a API CUDA para paralelismo possivelmente obtendo melhores resultados.

18

Page 19: TCC Apresentacao Final

PRINCIPAIS BIBLIOGRAFIAS

• CORPORATION nVidia. NVIDIA CUDA C Program-ming Guide v3.2. nVidia Corporation, 2010. Disponível em: < http://developer.download.nvidia.com/compute/cuda/3_2/toolkit/docs/CUDA_C_Programming_Guide.pdf> Acesso em: 20/10/2011.

• DAVID B. KIRK, W.-M. W. H. Programando para Processadores Paralelos, Uma Abordagem Prática à Programação de GPU. Rio de Janeiro: Campus / Elsevier, 2010.

• IKEDA, P. A. Um Estudo do uso Eficiente de Programas em Placas Gráficas. 2011. Disponível em: <http://gpubrasil.files.wordpress.com/2011/09/dissertacao-versao-entregue.pdf>. Acesso em: 18/10/2011.

19

Page 20: TCC Apresentacao Final

PRINCIPAIS BIBLIOGRAFIAS

• TSIODRAS, D.-I. T. A realtime 3D renderer in OpenMP/TBB. 2010. Disponível em: <http://users.softlab.ece.ntua.gr/ttsiod/renderer.html>. Acesso em: 07/10/2011.

• TSIODRAS, D.-I. T. A realtime raytracer of triangle meshes in CUDA. 2011. Disponível em: <http://users.softlab.ece.ntua.gr/ttsiod/cudarendererBVH.html>. Acesso em: 07/10/2011.

• TANENBAUM, A. S. Organizacão Estruturada de Computadores. [S.l.]: Prentice-Hall, 2006.

20