280 likes | 409 Views
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
E N D
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.
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