La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf ·...

69
La GPU como arquitectura emergente La GPU como arquitectura emergente para supercomputaci para supercomputaci ó ó n n Nicolás Guil y Manuel Ujaldón Dpto. Arquitectura de Computadores Universidad de Málaga

Transcript of La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf ·...

Page 1: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

La GPU como arquitectura emergente La GPU como arquitectura emergente para supercomputacipara supercomputacióónn

Nicolás Guil y Manuel UjaldónDpto. Arquitectura de Computadores

Universidad de Málaga

Page 2: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

2

SumarioSumario

I. El proceso de renderización [7]II. El nacimiento de GPGPU y su evolución [9]III. Arquitectura de la tarjeta gráfica

y la memoria de vídeo [12]IV. Comparativa CPU-GPU

y contribuciones de la GPU [5]V. Computación gráfica de altas prestaciones

para propósito general [20] (OPCIONAL)

Page 3: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

I. El proceso de renderizaciI. El proceso de renderizacióónn

Page 4: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

4

El proceso de renderizaciEl proceso de renderizacióónn

Page 5: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

5

Operaciones sobre vOperaciones sobre véértices: rtices: Los elementos de la escenaLos elementos de la escena

Page 6: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

6

TransformacionesTransformaciones geomgeoméétricastricas::El El espacioespacio tridimensionaltridimensional

Viewing

Posicionamos el volumen de

visualización en el mundo

Trípode

Modeling

Posicionamos los modelos en el

mundo

Modelo

Projection

Determinamos la forma del volumen

de visualización

Lente

Viewport

Determinamos el área 2D en el que

visualizamos la escena

Fotografía

Page 7: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

7

OperacionesOperaciones sobresobre fragmentosfragmentos: : PolPolíígonosgonos

1.- Unión de vérticessegún primitivas:Interpolación

2.- Relleno depolígonos:Rasterización

Page 8: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

8

OperacionesOperaciones con con texturastexturasy y ppííxelesxeles: : ColorColor

Pegado de texturas, dando lugara los píxeles de cada fragmento.

Page 9: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

9

Etapas del procesamiento grEtapas del procesamiento grááficofico

Entrada: Lista de vértices y sus atributos.1. Procesar vértices (vertex shader).2. Agrupar en primitivas (primitive assembly).3. Rotar, trasladar, escalar, iluminar (T & L).4. Acotar e interpolar (clipping, culling, interpolate).5. Convertir primitivas a mallas de puntos (rasterizer).6. Procesar píxeles (pixel shader).7. Aplicar texturas.8. Mezclar elementos (blending).Salida: Memoria de vídeo.

Page 10: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

10

ProgramaciProgramacióón del procesador grn del procesador grááficofico

Page 11: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

II. El nacimiento de GPGPU y su II. El nacimiento de GPGPU y su evolucievolucióón durante el n durante el úúltimo lustroltimo lustro

Page 12: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

12

2003. El punto de partida2003. El punto de partida

Se popularizan los shadersy su programación en Cg.Comienzan a verse los primeros códigos acelerados en la GPU…… pero la implementación es compleja y requiere un gran conocimiento del cauce de renderización gráfico:

Tiempo de desarrollo elevadoPerfil de usuario especializado.

Page 13: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

13

2004. Polivalencia y rendimiento.2004. Polivalencia y rendimiento.

Emerge con fuerza GPGPU, un movimiento que aglutina los esfuerzos académicos que montan algoritmos de propósito general en GPU:

Simulaciones físicas.Procesamiento de señal.Biología computacional.Visión por computador.Gestión de bases de datos.Computación numérica.

Page 14: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

14

2005: 2005: ConsolidaciConsolidacióónn de de resultadosresultados

Simulaciones físicasSistemas de partículas

Dinámica molecular

Procesamiento de imágenes

Procesamiento de señal

Renderizado de volúmenes

VisualizaciónPhoton Mapping

Ray Tracing

Bioinformática

Minería de datosConsultas a B.D.

Operaciones de reducciónGanancia esperada en GPU: 2-3x

Ganancia esperada en GPU: 5-10x

Ganancia esperada en GPU: 10-20xGanancia: > 20x

Page 15: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

15

2006. Emerge CUDA2006. Emerge CUDA

Ya no se discute el rendimiento ni la polivalencia del hardware gráfico, pero a la GPU aún le quedan dos asignaturas pendientes:

Precisión de los resultados: Ausencia de “floats” (FP32)Facilidad de programación. Excesivo tiempo de desarrollo

Ambos aspectos se resuelven con la llegada de CUDA en la serie 8 de Nvidia (Noviembre de 2006).CUDA: Compute Unified Device Architecture.CUDA: Cómo Utilizar un Dispositivo Avanzado con eficiencia, versatilidad, precisión y sencillez.

Page 16: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

16

2007. Unificaci2007. Unificacióón de sombreadoresn de sombreadores

Page 17: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

17

Las dos lecciones mLas dos lecciones máás importantes ques importantes quenos ensenos enseñña el procesamiento gra el procesamiento grááficofico

No confiar el futuro a la frecuencia, sino a la replicación de núcleos, que pueden aprovechar igualmente las mejoras del transistor. Posteriormente, se unifican estos núcleos.

El ancho de banda sostenido con memoria sigue siendo la clave para un rendimiento elevado. Algunos fabricantes (IBM-CELL, Nvidia-CUDA) optan por un control más explícito de la memoria.

Page 18: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

18

LecciLeccióón 1: Paralelismo masivo en n 1: Paralelismo masivo en procsprocs. de . de vvéértices y prtices y pííxeles: xeles: GeForceGeForce 6 y 7 (2004/2006)6 y 7 (2004/2006)

Page 19: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

19

LecciLeccióón 2: Reorganizacin 2: Reorganizacióón de procesadores n de procesadores y memoria: G80 (2007/2008)y memoria: G80 (2007/2008)

Page 20: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

20

Los paradigmas de computaciLos paradigmas de computacióón hasta n hasta llegar a CUDAllegar a CUDA

CPU (desde los 70):

GPU (hasta 2006): CUDA (desde 2007):

Page 21: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

III. Arquitectura de la tarjeta grIII. Arquitectura de la tarjeta grááfica fica y la memoria de vy la memoria de víídeodeo

Page 22: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

22

El diagrama de bloques El diagrama de bloques de la tarjeta grde la tarjeta grááficafica

Page 23: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

23

SegmentaciSegmentacióón y movimiento de datos n y movimiento de datos en la GPU frente a la CPUen la GPU frente a la CPU

La GPU también es una procesador segmentado, pero con rasgos muy particulares:

No fluyen las instrucciones, sino los datos.Los operadores son unarios, lo que evita las dependencias y maximiza el paralelismo.Se dispone de un menor número de etapas dada la baja frecuencia. Se fomenta el procesamiento vectorial y superescalar, buscando aprovechar el paralelismo de datos.

Parece un cauce de segmentación más homogéneo, pero no lo es:

Cualitativamente: Los datos no son los mismos al principio (vértices) que al final (píxeles).Cuantitativamente: Los datos son más numerosos conforme se aproximan al final.

Page 24: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

24

24

1

10

100

1,000

10,000

100,000

1980 1985 1990 1995 2000 2005 2010

Año

Ren

dim

ient

o

Memoria

Procesador La diferencia creceun 50% cada año

µProc60%/año

DRAM7%/año.

El diferente ritmo del procesador y la memoriaEl diferente ritmo del procesador y la memoria

Page 25: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

25

La memoria: Acceso y anchuraLa memoria: Acceso y anchura

1992: FPM RAM. Acceso bidimensional por fila y columna.1995: VRAM. Doble puerto, conectado a una línea de datos de 8 bits, con un RAMDAC de 32, 64 o 128 bits.1997: SDRAM. Bancos entrelazados de factor 2 o 4. Tecnología barata.A partir de aquí, y durante una década, se producirán sucesivos desdobles en la anchura del bus cada dos años: 1998 (64 bits), 2000 (128 bits), 2003 (256 bits), 2006 (384 bits) y 2007 (512 bits), donde se alcanzan picos de ancho de banda superiores a 100 Mbytes/sg.2008: Reducción del bus hasta 256 bits, como consecuencia de la reducción de área en el chip GPU y la mayor presencia de caché.

Page 26: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

26

La memoria: LatenciaLa memoria: Latencia

Respecto a los modelos comerciales de memoria principal, la memoria de vídeo lleva una ventaja de dos generaciones:

Page 27: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

27

La memoria: Ancho de banda.La memoria: Ancho de banda.Velocidad por cada pin de datosVelocidad por cada pin de datos

Cada nueva generación ha logrado mejorar más proporcionalmente que su antecesora.

Page 28: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

28

La memoria: Ancho de banda.La memoria: Ancho de banda.Velocidad por cada pin de datosVelocidad por cada pin de datos

El ritmo de mejora se acerca al de una progresión geométrica…

Page 29: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

29

La memoria: Ancho de banda.La memoria: Ancho de banda.Velocidad por cada pin de datosVelocidad por cada pin de datos

… aunque en realidad se encuentra un poco por debajo de ella.

Page 30: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

30

La memoria: Formas de usoLa memoria: Formas de uso

La video-consola se aprovecha de la tecnología de memoria de vídeo, y el PC se beneficia de ambas.

Page 31: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

31

La memoria: Su controladorLa memoria: Su controlador

Responsable del diálogo conjunto con los chips de memoria de vídeo de forma síncrona.Se ubica dentro del área de integración de la GPU. Esto lo emplea el K8 de AMD y luego Intel.Se conecta físicamente al bus de memoria.Establece una longitud de ráfaga fija para los diálogos, que suele ser 8 en 2008. Esto sugiere una línea de caché de 256 bytes (bajo bus de 256 bits).Responsable de conocer la relación con la memoria caché interna y la memoria principal externa.

Page 32: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

32

Controlador de memoria.Controlador de memoria.Arquitectura de la saga Arquitectura de la saga GeForceGeForce

Page 33: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

33

Controlador de memoria. Controlador de memoria. Arquitectura de la saga Arquitectura de la saga GeForceGeForce

Page 34: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

34

Controlador de memoria.Controlador de memoria.Arquitectura de la saga Arquitectura de la saga GeForceGeForce

CONGESTIO

N

Page 35: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

35

Puntos dPuntos déébiles del controlador biles del controlador de memoria en la saga de memoria en la saga GeForceGeForce

- Densidad de cableado.

Necesitamos un sistema de memoriamás escalable

- Los cables de la DRAM saturan todo el espacio.

- Enrutado complejo conduce aretardos en las transferencias.

Problemas: Penaliza:

TAMAÑO

ANCHURA

FRECUENCIA

Qué tal algo así:

Page 36: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

36

Controlador de memoria.Controlador de memoria.Arquitectura de la saga Arquitectura de la saga RadeonRadeon

Page 37: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

37

Controlador de memoria saga Controlador de memoria saga RadeonRadeon::Servicio de una peticiServicio de una peticióónn

ELEMENTOS:- 8 clientes de memoria.- 8 módulos de memoria(32 bits cada uno).- 4 paradas en el anillo (una por cada 64 bits).- 2 buses de lectura (en direcciones opuestas, de 256 bits cada una)- 1 red de escritura.

Page 38: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

IV. Comparativa CPUIV. Comparativa CPU--GPU y GPU y contribuciones de la GPUcontribuciones de la GPU

Page 39: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

39

De dDe dóónde venimos y hacia dnde venimos y hacia dóónde vamos nde vamos (seg(segúún la ITRS)n la ITRS)

Frecuencia (MHz): 500 2000 4x / décadaTransistores (Mill.): 222 2237 10x / décadaConsumo (W.) 150 200 0.3x / décadaTamaño (Mbytes): 256 4000 16x / décadaA. Banda (Gb/s): 35 322 9x / décadaLatencia (RAS, ns): 40 23 2x / década

2004 2014 Tendencia

Chip

sM

emo r

ia

Ritmo evolutivo:Chips: Transistores > Frecuencia > ConsumoMemoria: Tamaño > Ancho banda > Latencia

Page 40: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

40

Comparativa de consumo CPU vs. GPUComparativa de consumo CPU vs. GPU

Movimiento de datos: Algo inferior en la GPU por la mayor proximidad de datos en su cauce

Cálculo y computación: Muy superior en la GPU por el creciente número de transistores activos, consecuencia del elevado paralelismo.

En conjunto: Una GPU actual puede duplicar el consumo de su CPU homóloga, llegándose a alcanzar 200 W frente a 100 W.

Porcentaje de W. gastados para:

70%30%GPU

90%10%CPU

Mov. datos:Computación:

Consumo en los modelos de 2007

360 W.180 W.Radeon2900XT

350 W.170 W.GeForce8800GTX

Todo el PCSólo GPU (pico)

Page 41: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

41

…… sin embargo, la CPU presenta msin embargo, la CPU presenta máás puntos s puntos ttóórridos rridos Fallece a una temperatura inferiorFallece a una temperatura inferior

Límites térmicos en CPU:Area de integración: 95ºC.Diodo térmico (lomo): 75ºC.Disipador: 65ºC.Aire de la carcasa: 55ºC

Límites térmicos en GPU: Hasta 30 ºC superiores a la CPU.

Para bajar la temperatura:Reducir la frecuencia.Reducir el voltaje.Mejorar el sistema de disipación: Material (Al/Cu), adherencia y dimensiones, ventilador (cm. y RPM).

Page 42: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

42

La potencia bruta de cLa potencia bruta de cáálculo en ambos lculo en ambos procesadoresprocesadores

Page 43: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

43

SSííntesis comparativa CPUntesis comparativa CPU--GPUGPU

A favor de la CPU:Cachés muy rápidas.Saltos de grano fino.Muchos paradigmas para ejecutar procesos e hilos.Alto rendimiento sobre un único hilo.

PARALELISMO DE TAREAS

A favor de la GPU:DRAM muy rápida.Muchas UFs para cálculos matemáticos.Microprogramación utilizando sombreadores.Alto rendimiento cuando se ejecutan tareas paralelas.

PARALELISMO DE DATOS

Page 44: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

44

Aportaciones de la GPUAportaciones de la GPU

Código: Reorganizarlo de forma data-parallel desde el principio (GPU), en lugar de proceder secuencialmente para luego quedar en manos del paralelismo a nivel de instrucción (CPU).Datos: Mover el trabajo hacia donde están los datos (GPU), en lugar de mover los datos hacia donde está el trabajo (CPU).Mixto: Invertir el tradicional cuello de botella en el acceso a datos. Más transistores y menos velocidad para los cores, menos transistores y más velocidad para la memoria.

Page 45: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

45

Escalabilidad de la GPU frente a la CPUEscalabilidad de la GPU frente a la CPU

Intel: Sólo el procesamiento SSE, sin incluir la FPU x86.STI (Sony-Toshiba-IBM): Sólo los cores de los SPEs, sin contar el PPE.ALUs/core: Punto flotante de 32 bits (las ALUs son suma-producto).T: El ratio entre los contextos de threads de un core y los threads que pueden ejecutarse de forma simultánea. Describe hasta qué punto los cores de un procesador son capaces de ocultar sus paradas a través de multithreading hardware.

4118Sun UltraSparc T2CPU1448STI Cell BECPU1484Intel Core 2 QuadCPU9632816GeForce 8800GPU4864804Radeon HD 2900GPU

MaxTSIMD width

ALUs/core

Cores/Chip

ProcesadorTipo

Page 46: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

46

CCóómo pueden complementarse CPU y GPUmo pueden complementarse CPU y GPU

Las CPU tienen un modelo de programación que resulta más familiar a usuarios y programadores, pero las GPU tiene un rendimiento pico superior.SOLUCIÓN: La GPU se acerca a la CPU en el plano SW: GPGPU.

Cg de Nvidia (2003).CUDA de Nvidia (2006).CAL de AMD/ATI (2008).

La CPU se deja influenciar por la GPU a nivel HW:Cell, de Sony-Toshiba-IBM (2006).Larrabee, de Intel (2009).Fusion, de AMD (2009).

Page 47: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

V. ComputaciV. Computacióón grn grááfica de altas fica de altas prestaciones para propprestaciones para propóósito generalsito general

Page 48: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

48

TeslaTM

Computación de altasprestaciones

Quadro®

Diseño y creaciónGeForce®

Ocio y entretenimiento

Todos ellos basados en unamisma microarquitectura

Nuevo perfil de usuario en Nuevo perfil de usuario en NvidiaNvidia

Page 49: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

49

ComparativaComparativa GeForceGeForce, , QuadroQuadro y TESLA y TESLA en la en la serieserie 88

1.012Quadro FX 4600

1.016Quadro FX 5600

1.02x16Quadro Plex 1000 Model IV

1.04x16Quadro Plex 1000 Model S4

1.016Tesla C870

1.02x16Tesla D870

1.04x16Tesla S870

1.11GeForce 8400M G

1.12GeForce 8500 GT, 8400 GS, 8400M GT, 8400M GS

1.14GeForce 8600 GTS, 8600 GT, 8700M GT, 8600M GT/GS

1.18GeForce 8800M GTS

1.012GeForce 8800 GTS

1.112GeForce 8800M GTX

1.114GeForce 8800 GT

1.016GeForce 8800 Ultra, 8800 GTX

Versión de CUDAMultiprocesadoresModelo comercial

Page 50: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

50

Variantes:Tarjeta: C870. Una GPU. ~ 500 € (Jun’08 en PNY).Estación de trabajo: D870. Dos GPUs. ~ 3000 €.Servidor: S870. Cuatro GPUs. ~ 4500 €. Rendimiento máximo: 2 TFLOPS.

Rasgos comunes más sobresalientes:No disponen de salida de vídeo.Consumo energético elevado (hasta 800 W).Contaminación acústica notoria (hasta 70 dB).

Resumen de la gama de modelos TESLAResumen de la gama de modelos TESLA

Page 51: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

51

Gama baja: C870Gama baja: C870

Page 52: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

52

Gama media: D870. Dos Gama media: D870. Dos GPUsGPUs..

Page 53: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

53

Gama alta: S870. Cuatro Gama alta: S870. Cuatro GPUsGPUs en en configuraciconfiguracióón de 2x2. Montaje en RACK.n de 2x2. Montaje en RACK.

Page 54: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

54

Diagrama de bloques Diagrama de bloques de un servidor TESLAde un servidor TESLA

Page 55: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

55

ComparativaComparativa de la de la gamagama TESLATESLAen en laslas series 8 y 10series 8 y 10

700 W.550 W.Consumo energético medio

CUDA 1.1CUDA 1.0Entorno de programación

PCIe x16 o x8 versión 2.0

PCIe x16 o x8 versión 1.0

Bus de comunicación con CPU

408 Gbytes/sg. (102 por cada GPU)

307 Gbytes/sg. (76.8 por cada GPU)

Ancho de banda de la memoria

2 x 800 MHz2 x 800 MHzFrecuencia de reloj de la memoria GDDR3

512 bits en cada GPU384 bits en cada GPUAnchura del bus de memoria GDDR3

16 Gbytes (4 por GPU)6 Gbytes (1.5 por GPU)Tamaño de la memoria de vídeo GDDR3

648 x 4 = 2592(1.35 GHz x2 x 240)Nvidia dice 1000 x 4

345 x 4 = 1380(1.35 GHz x2 x 128)Nvidia dice 520 x 4

GFLOPS

IEEE 754 simple y doble precisión

IEEE 754 simple precisión

Precisión de punto flotante

960512Número total de procesadores streaming (SPs)

240128Número de procesadores streaming por GPU

44Número de GPUs

S1070S870Rasgo

Page 56: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

56

La GPU: Algo mLa GPU: Algo máás que s que una arquitectura para jugaruna arquitectura para jugar

Page 57: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

57

Las bazas de un supercomputador Las bazas de un supercomputador basado en un cluster de basado en un cluster de GPUsGPUs

Permite alcanzar un rendimiento similar al de los supercomputadores a un coste cien veces inferior.La función coste/rendimiento es más favorable en arquitecturas basadas en núcleos sencillos como CELL o GPU que en supercomputadores basados en núcleos fuera-de-orden (como las CPU de Intel/AMD).

Page 58: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

58

Las bazas de un supercomputador Las bazas de un supercomputador basado en un cluster de basado en un cluster de GPUsGPUs (2)(2)

Los supercomputadores nunca han sido populares porque no dan beneficios y hace falta ser un gurúpara programarlos.

La industria de los video-juegos tiene un ingente mercado que garantiza la viabilidad económica.Desarrolla una notable infraestructura software en constante evolución: Entornos de programación, funcionalidad, versatilidad, ... lo que mantiene una gran cantera de programadores que pueden reciclarse fácilmente hacia tareas de propósito general.

Page 59: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

59

Lo Lo queque nuncanunca tuvotuvo la la computacicomputacióónn de de altasaltas prestacionesprestaciones

Ventas de GPUs(millones)

25

50

2006 2007

Popularidad y precio: Las GPUs están en todas partes y son baratas. Son un gran negocio.

Page 60: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

60

Lo que siempre tuvo la computaciLo que siempre tuvo la computacióón de n de altas prestacionesaltas prestaciones

Complicaciones a la hora de programarlas: El modelo de programación gráfica se basa en un número predefinido de etapas, sobre las que resulta difícil soportar cualquier tipo de computación de una forma eficiente.El rendimiento pico está ahí, pero cuesta sacarle partido en computación de propósito general.

Page 61: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

61

BALE: Ejemplo de cluster de GPU actualBALE: Ejemplo de cluster de GPU actual

Adquirido en el Ohio Supercomputing Center en Junio de 2007. Consta de 18 nodos funcionando bajo Linux, cada uno de ellos con:

Dos CPU Opteron dual-core de AMD @ 2.6 GHz.8 Gbytes de memoria principal.750 Gbytes de espacio de disco.Dos GPU Quadro 5600 de Nvidia, cada una con 1.5 Gbytes de memoria de vídeo.Conexión por Infiniband.

Page 62: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

62

Cada uno de los 18 nodos de Cada uno de los 18 nodos de visualizacivisualizacióón del supercomputador BALEn del supercomputador BALE

Page 63: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

63

Prestaciones comparativas CPU/GPUPrestaciones comparativas CPU/GPUen cen cáálculo y acceso a memorialculo y acceso a memoria

madd(2 FLOPS) x128 SP x 1.35 GHz = 345.6 GFLOPS

2 cores x 4.4 GFLOPS = 8.8 GFLOPS

Potencia de cálculo

¡¡ 12.4 TFLOPS !!316.8 GFLOPSEn el total de 18 nodos x 2 zócalos

128 stream processsors2 coresNúmero de núcleos

600 MHz / 1.35 GHz

G80

GPU (Nvidia)

2.6 GHzFrecuencia de reloj

Opteron X2 2218Modelo arquitectural

CPU (AMD)Procesador

1.5 Gbytes de GDDR38 Gbytes de DDR2 Capacidad y tipo

2x 800 MHz2x 333 MHzFrecuencia de reloj

384 bits128 bits (doble canal)Anchura del bus

76.8 Gbytes/sg.10.8 Gbytes/sg.Ancho de banda

GPU (Nvidia)CPU (AMD)Memoria

Page 64: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

64

AplicaciAplicacióónn al al diagndiagnóósticostico del del ccááncerncer

`

Whole-slide image

Label 1Label 2

backgroundundetermined

Assign classification labels

Classification map

Image tiles (40X magnification)

CPU PS 3…

Computation units

GPU …

Page 65: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

65

Resultados experimentalesResultados experimentales

Para una media de 600 pacientes que son tratados en el hospital anualmente y 5-6 muestras de imágenes de alta resolución por cada paciente, la aplicación que funciona con Matlab tarda 21 meses en procesar toda la información en un PC.Con una sola GPU, el tiempo se reduce a:

5.3 días utilizando Cg.2.4 días utilizando CUDA.

Utilizando los 16 nodos del cluster de GPUs:El tiempo computacional es inferior a las 2 horas.

Page 66: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

66

AplicaciAplicacióón 2: Reconstruccin 2: Reconstruccióón 3D n 3D de especde especíímenes y tejidosmenes y tejidos

Page 67: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

67

Escalabilidad en CPUEscalabilidad en CPU--GPUGPU

Page 68: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

68

AplicacionesAplicaciones portadasportadas a GPU a GPU ((segsegúúnn NvidiaNvidia en 2008)en 2008)

• Optical inspection• Particle physics• Protein folding• Quantum chemistry• Ray tracing• Radar• Reservoir simulation• Robotic vision/AI• Robotic surgery• Satellite data analysis• Seismic imaging• Surgery simulation• Surveillance• Ultrasound• Video conferencing• Telescope• Video• Visualization• Wireless• X-ray

3D Image AnalysisAdaptive radiation therapyAcousticsAstronomyAudioAutomobile visionIBioinformaticsBiological simulationBroadcastCellular automataComputational Fluid DynamicsComputer VisionCryptographyCT ReconstructionData MiningDigital cinema/projections

Electromagnetic interferenceEquity trainingFilmFinancialLanguagesGISHolographics cinemaImagingMathematics researchMilitaryMine planningMolecular dynamicsMRI reconstructionMultispectral imagingNbodyNetwork processingNeural networksOceanographic research

Page 69: La GPU como arquitectura emergente para …jp08.uji.es/files/Conferencias/GPU-JP08-1parte.pdf · Arquitectura de la tarjeta gráfica y la memoria de vídeo [12] IV. Comparativa CPU-GPU

69

Resumen finalResumen final

El procesamiento streaming o basado en flujos representa una nueva forma de hacer las cosas, donde los protagonistas son los datos, no las instrucciones.Cada vez se le saca más provecho desde la perspectiva de un programador no familiarizado con la peculiar idiosincrasia de la programación gráfica.El fenómeno ha trascendido ya a los multiprocesadores, donde se busca un modelo híbrido en el que cada procesador pueda hacer lo que mejor sabe.La industria del ocio garantiza la viabilidad comercial de futuros desarrollos y la escalabilidad de la arquitectura augura un futuro muy prometedor.