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

Preview:

Citation preview

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.

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.

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.

Introdução GPGPU

Introdução GPGPU

Introdução GPGPU

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.

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.

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

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

Qual o problema com esse modelo linear antigo?

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

Qual o problema com esse modelo linear antigo?

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

Solução? Processamento Unificado.

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.

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.

Processamento Unificado

Processamento Unificado

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.

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.

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.

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.

NVidia’s CUDA CUDA

NVidia’s CUDA CUDA

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.

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.

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.

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

Obrigado!

Recommended