Introdução à programação CUDA

4318 palavras 18 páginas
Introdução à programação em
CUDA

1

Objetivos


Visão geral da arquitetura de GPUs modernas



Vantagens e desvantagens em relação às CPUs



Introdução a programação em CUDA

2

Parnorâma


Futuro do projeto de microprocessadores e HPC será híbrido



Integração de diferentes componentes


CPUs com muitos cores



Hardware de propósito específico (DSPs, FPGAs)



Aceleradores massivamente paralelos (GPUs)



Barreira petaFLOP (105 FLOPS) ultrapassada



Exemplo: Titan (Oak Ridge National Laboratory)


Número 1 no Top500 (Novembro, 2012)



97 milhões de dólares



17 petaFLOPS



18.688 CPUS (Opteron 16-core)



18.688 GPUs (Nvidia Tesla K20)

3

Cenário


Desenvolvedores precisam lidar com ambientes híbridos



Performance deve escalar com número de cores



Performance deve acompanhar lançamento de hardware



Novos ambientes de desenvolvimento e execução



Programação paralela não pode ser visto como algo opcional
4

Por que GPUs?

5

Por que GPUs?

6

Fermi (2010)

~1.5TFLOPS (SP)/~800GFLOPS (DP)
230 GB/s DRAM Bandwidth
7

Speedups Significativos

8

CUFFT 3.2

9

CUBLAS

10

CULA – LAPACK para sistemas heterogêneos 11

Processadores Gráficos










Enquanto CPUs evoluíam em clock e número o processamento gráfico sofria uma revolução
Década de 1980: Silicon Graphics popularizou o uso de gráficos 3D em diversas aplicações de grande porte
Década de 1990: sistemas operacionais gráficos levam gráficos 2D e 3D ao consumidor final
Meados da década de 1990: Jogos imersivos (Doom,
Duke Nukem, Quake) aumentam o interesse e exigência dos consumidores por gráficos 3D
1992: OpenGL, 1995: DirectX
12

GPU vs. CPU

GPUs dedicam muito mais transistores para unidades lógicas e aritméticas
(ULAs) que CPUs, em compensação as unidades de controle são mais simples e os caches são menores.

Relacionados

  • A UTILIZAÇÃO DA ARQUITETURA CUDA EM ALGORITMOS DE INTELIGÊNCIA ARTIFICIAL PARA MELHORA DE PERFORMANCE
    1626 palavras | 7 páginas
  • Implementação em GPU de Rede Neural para Análise de Sinais de EEG
    8673 palavras | 35 páginas
  • PROGRAMAÇÃO COM GPU
    1988 palavras | 8 páginas
  • Processamento paralelo com cuda - transformada rápida de fourier
    4619 palavras | 19 páginas
  • Processadores
    1332 palavras | 6 páginas
  • Filas E Pilhas
    11428 palavras | 46 páginas
  • Programação concorrente utilizando GPU
    2889 palavras | 12 páginas
  • Programac¸˜ao de prop´osito geral em gpus: experiˆencia com a arquitetura cuda
    3545 palavras | 15 páginas
  • o bovino
    3298 palavras | 14 páginas
  • redes
    12803 palavras | 52 páginas