28
Perspectivas NVidia para Desktop Tiago Carneiro Pessoa [email protected]

Perspectivas NVidia para Desktop Tiago Carneiro Pessoa [email protected]

Embed Size (px)

Citation preview

Page 1: Perspectivas NVidia para Desktop Tiago Carneiro Pessoa carneiro@larces.uece.br

Perspectivas NVidia para Desktop

Tiago Carneiro Pessoa [email protected]

Page 2: Perspectivas NVidia para Desktop Tiago Carneiro Pessoa carneiro@larces.uece.br

Agenda Introdução

GPGPU O que é? Motivação Dificuldades

Nova era: Processamento Unificado. Antigo Funcionamento do Pipeline. Processamento Unificado.

NVidia CUDA e outras Soluções.

Page 3: Perspectivas NVidia para Desktop Tiago Carneiro Pessoa carneiro@larces.uece.br

Introdução GPGPU

Computação de Propósito Geral em Unidades de Processamento Gráfico.

É o ato de utilizar a placa de vídeo para realizar cálculos que tradicionalmente eram realizados pela CPU.

Page 4: Perspectivas NVidia para Desktop Tiago Carneiro Pessoa carneiro@larces.uece.br

Introdução GPGPU

Motivação: GPUs se tornaram processadores altamente

paralelos, com centenas de núcleos e uma largura de banda de memória muito alta, levando assim, a um poder computacional muito a frente dos processadores comumente utilizado nos desktops (HALFILL, 2008).

São de longe o componente mais subutilizado de um computador.

Page 5: Perspectivas NVidia para Desktop Tiago Carneiro Pessoa carneiro@larces.uece.br

Introdução GPGPU

Page 6: Perspectivas NVidia para Desktop Tiago Carneiro Pessoa carneiro@larces.uece.br

Introdução GPGPU

Page 7: Perspectivas NVidia para Desktop Tiago Carneiro Pessoa carneiro@larces.uece.br

Introdução GPGPU

Page 8: Perspectivas NVidia para Desktop Tiago Carneiro Pessoa carneiro@larces.uece.br

Introdução GPGPU - Dificuldades

O programador precisava mapear sua aplicação em algo que a placa de vídeo conseguisse entender.

O programador era obrigado a utilizar “Shadding Languages” tais como NVidia’s CG, OpenGL’s GLSL ou Microsoft HLSL.

Page 9: Perspectivas NVidia para Desktop Tiago Carneiro Pessoa carneiro@larces.uece.br

Introdução GPGPU

Uma das primeiras utilizações de sucesso: Stanford University, Folding@Home for GPUs. 2006.

Utilizava placas ATI Radeon X1900 e X1950 e conseguiram uma performance entre 10 vezes e 20 vezes maior que a dos processadores Core 2 Duo recém lançados.

Page 10: Perspectivas NVidia para Desktop Tiago Carneiro Pessoa carneiro@larces.uece.br

Uma nova era: Processamento Unificado Estágios Básicos do Pipeline de uma GPU:

Page 11: Perspectivas NVidia para Desktop Tiago Carneiro Pessoa carneiro@larces.uece.br

Processamento Unificado Estágios Básicos do Pipeline de uma GPU:

Qual o problema com esse modelo linear antigo?

Page 12: Perspectivas NVidia para Desktop Tiago Carneiro Pessoa carneiro@larces.uece.br

Processamento Unificado Estágios Básicos do Pipeline de uma GPU:

Qual o problema com esse modelo linear antigo?

Page 13: Perspectivas NVidia para Desktop Tiago Carneiro Pessoa carneiro@larces.uece.br

Processamento Unificado Estágios Básicos do Pipeline de uma GPU:

Solução? Processamento Unificado.

Page 14: Perspectivas NVidia para Desktop Tiago Carneiro Pessoa carneiro@larces.uece.br

Processamento Unificado Estágios Básicos do Pipeline de uma GPU:

Solução? Processamento Unificado.

2006: NVidia lança a geração G80. “NVidia GeForce 8800 GPU: World’s First Unified Directx

10 GPU Delivering Unparalleled Performance and Image Quality.

Juntamente com o lançamento da GeForce 8, lança a plataforma Tesla e o NVidia Physx.

Page 15: Perspectivas NVidia para Desktop Tiago Carneiro Pessoa carneiro@larces.uece.br

Processamento Unificado Estágios Básicos do Pipeline de uma GPU:

Solução? Processamento Unificado.

A GeForce 8800 GTX possui 128 processadores de fluxo, cada um a 1,35Ghz, divididos em 8 núcleos de processamento.

Com o advento do processamento unificado a placa de vídeo tornou-se um processador genérico de ponto flutuante.

Para usar todo esse poder computacional, em 2006 a NVidia lançou a API CUDA – Compute Unified Device Archicteture.

Page 16: Perspectivas NVidia para Desktop Tiago Carneiro Pessoa carneiro@larces.uece.br

Processamento Unificado

Page 17: Perspectivas NVidia para Desktop Tiago Carneiro Pessoa carneiro@larces.uece.br

Processamento Unificado

Page 18: Perspectivas NVidia para Desktop Tiago Carneiro Pessoa carneiro@larces.uece.br

NVidia’s CUDA CUDA

API que permite utilizar as poderosas GPUs da NVidia em computação massivamente paralela de alto desempenho.

Requer que o código seja escrito em C ou C++. Programador adicionar algumas diretrizes ao código,

como em OpenMP ou MPI. Na região executada pela GPU permite-se apenas a

utilização de C puro e não pode haver recursão.

Page 19: Perspectivas NVidia para Desktop Tiago Carneiro Pessoa carneiro@larces.uece.br

NVidia’s CUDA CUDA

Requer que o código seja escrito em C ou C++. Não há necessidade de gerenciamento de threads. O código é independente de quantos processadores

de fluxo existem na GPU. Compilador nvcc. Compila a região CUDA, é

necessário a utilização de outro compilador para compilar a região “não-CUDA”.

Pode ser utilizada em conjunto com outras APIs, tais como OpenMP e MPI.

Page 20: Perspectivas NVidia para Desktop Tiago Carneiro Pessoa carneiro@larces.uece.br

NVidia’s CUDA CUDA

Em 2008 o Instituto de Tecnologia de Tóquio adquiriu um módulo NVidia Tesla com 170 computadores do tipo Tesla-1070, cara um com um pico teórico de um Teraflop.

A CESUP-RS adquiriu um novo cluster contendo módulos NVidia e AMD.

Page 21: Perspectivas NVidia para Desktop Tiago Carneiro Pessoa carneiro@larces.uece.br

NVidia’s CUDA CUDA

CESUP-RS: 36 (trinta e seis) nós de processamento (30 Thin

Nodes e 6 Fat Nodes). 2 (dois) nós de gerência. 2 (dois) nós Tesla (Tesla Head Nodes). 1 (um) nó Firestream (Firestream Head Node). 1 (um) "InfiniBand Switch Router". Total de 84 TB em disco. Total de 1248 GB de memória. Performance total de 12.76 Tflops.

Page 22: Perspectivas NVidia para Desktop Tiago Carneiro Pessoa carneiro@larces.uece.br

NVidia’s CUDA CUDA

Page 23: Perspectivas NVidia para Desktop Tiago Carneiro Pessoa carneiro@larces.uece.br

NVidia’s CUDA CUDA

Page 24: Perspectivas NVidia para Desktop Tiago Carneiro Pessoa carneiro@larces.uece.br

Outras Soluções GPGPU OpenAL (API)

Lançada em 2008, é uma tentativa de unificação, análoga ao OpenGL e ao OpenAL, para a criação de Kernels.

Iniciativa da IBM, NVidia, Intel e AMD.

Page 25: Perspectivas NVidia para Desktop Tiago Carneiro Pessoa carneiro@larces.uece.br

Outras Soluções GPGPU AMD Firestream

Da mesma maneira que a NVidia, a AMD também possui sua API para utilizar as placas de vídeo AMD (antigas ATI) como um computador paralelo de alto desempenho.

Page 26: Perspectivas NVidia para Desktop Tiago Carneiro Pessoa carneiro@larces.uece.br

Outras Soluções GPGPU Intel Larabee

Projeto da Intel que pretende univiar GPU e CPU no mesmo dispositivo. Diferentemente das GPUs, ela também suportará

instruções X86 e poderá rodar qualquer aplicação que não seja gráfica.

Criada para competir com as soluções GPGPU NVidia e AMD (ATI).

Existirá coerência entre os núcleos. Previsão de lançamento: meados de 2010.

Page 27: Perspectivas NVidia para Desktop Tiago Carneiro Pessoa carneiro@larces.uece.br

GPGPU Na Internet gpgpu.org NVidia’s CUDA Zone:

www.nvidia.com/objetct/cuda_home.html Top Coder

www.topcoder.com AMD Firestream

www.amd.com/stream

Page 28: Perspectivas NVidia para Desktop Tiago Carneiro Pessoa carneiro@larces.uece.br

Obrigado!