Graphics Processing Units (GPUs) Microprocesadores Para Comunicaciones Omar Espino Santana -...

20
Graphics Processing Units (GPUs) Microprocesadores Para Comunicaciones Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC 1

Transcript of Graphics Processing Units (GPUs) Microprocesadores Para Comunicaciones Omar Espino Santana -...

Page 1: Graphics Processing Units (GPUs) Microprocesadores Para Comunicaciones Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC 1.

1

Graphics Processing Units (GPUs)

Microprocesadores Para Comunicaciones

Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC

Page 2: Graphics Processing Units (GPUs) Microprocesadores Para Comunicaciones Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC 1.

2

Índice• Introducción• Historia• Pipeline Gráfico

▫Vertex Shading▫Geometry Shading▫Rasterization▫Pixel Shading

• Arquitectura• Programación de la GPU• GPGPU• Nvidia• AMD• BenchmarksOmar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC

Page 3: Graphics Processing Units (GPUs) Microprocesadores Para Comunicaciones Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC 1.

3

Introducción

•Cómputo intensivo•Descarga de la CPU•Videojuegos y CAD•Nvidia y AMD (49.6% 50.3%)

Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC

Page 4: Graphics Processing Units (GPUs) Microprocesadores Para Comunicaciones Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC 1.

4

Historia•Transferencia de memoria•Primitivas 2D hardware•Aparecen APIs (OpenGL y DirectX)•Añaden programabilidad•Unifican Shaders•Tessellation•Demanda GPGPU

Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC

Page 5: Graphics Processing Units (GPUs) Microprocesadores Para Comunicaciones Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC 1.

5

Pipeline Gráfico

Vertex Shading

Geometry Shading Rasterization Pixel/Fragment

Shading

Renderizado: Conjunto de acciones necesarios para generar una imagen a partir de un modelo.

Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC

Page 6: Graphics Processing Units (GPUs) Microprocesadores Para Comunicaciones Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC 1.

6

Vertex Shading•Proceso sobre cada vértice

▫Cálculo de luz▫Cálculo de posición (Movimiento)

Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC

Pos.z  = sin( Pos.x+angle);Pos.z += sin( Pos.y/2+angle);Pos.z *= Pos.x *0.09f;

Page 7: Graphics Processing Units (GPUs) Microprocesadores Para Comunicaciones Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC 1.

7

Geometry Shading

•Tessellation o Teselado•Genera nuevos vértices•Crea relieves para mejorar el realismo

Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC

Page 8: Graphics Processing Units (GPUs) Microprocesadores Para Comunicaciones Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC 1.

8

Rasterization

•Genera una imagen 2D (mapa de pixels)

▫Clipping: Recorta aquellos vértices que quedan fuera de la ventana de visualización.

▫Conversión de escaneo: En el momento proyectar sobre el plano, habrá pixels que queden encima de otros. Haciendo uso de un Z-buffer, decide cual eliminar.

Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC

Page 9: Graphics Processing Units (GPUs) Microprocesadores Para Comunicaciones Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC 1.

9

Pixel Shading•Trabaja sobre cada pixel por separado•Da color a cada píxel gracias a

información de:▫Textura▫Luminosidad

Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC

Page 10: Graphics Processing Units (GPUs) Microprocesadores Para Comunicaciones Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC 1.

10

Arquitectura

•Segmentación: Diferentes etapas en el pipeline.

•Paralelismo: Procesado SIMD (Single Instruction Multiple Data).

•Operaciones en coma flotante: Proyecciones y transformaciones. Trigonometría.

Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC

Page 11: Graphics Processing Units (GPUs) Microprocesadores Para Comunicaciones Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC 1.

11

Arquitectura

•Ejecución secuencial a circular▫Unified Shaders

Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC

Page 12: Graphics Processing Units (GPUs) Microprocesadores Para Comunicaciones Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC 1.

12

ArquitecturaGTX 6800GTX 8800

Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC

Page 13: Graphics Processing Units (GPUs) Microprocesadores Para Comunicaciones Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC 1.

13

Programación de la GPUDirectX (Direct3D) OpenGL

• API de Microsoft• Estable• Restringido• Uso en Xbox y Xbox360• HLSL (Cg de Nvidia)

• API estándar y multiplataforma

• Ámbitos profesionales (CAD)• Política de extensiones• Más sencillo que Direct3D• GLSL

Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC

Page 14: Graphics Processing Units (GPUs) Microprocesadores Para Comunicaciones Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC 1.

14

GPGPU•General Purpose Compute on GPU

▫Uso para aplicaciones científicas y de simulación que requieran mucho cómputo

Ensamblador HLSL, GLSL y Cg

▫BrookGPU▫CUDA (Nvidia) y ATI Stream (AMD)

Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC

Page 15: Graphics Processing Units (GPUs) Microprocesadores Para Comunicaciones Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC 1.

15

Nvidia

• DirectX 11• NVIDIA Physx• NVIDIA 3D Vision

Ready• NVIDIA Surround• NVIDIA SLI• NVDIA CUDA

GeForce GTX 580 GeForce GTX 570

• Antialiasing 32x• NVIDIA PureVideo

HD• PCI Express 2.0• DVI Dual Link• HDMI 1.4a

Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC

Page 16: Graphics Processing Units (GPUs) Microprocesadores Para Comunicaciones Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC 1.

16

AMD

•AMD Eyespeed•PCI Express 2.1•DVI Dual Link•HDMI 1.4a

• Eye Definition• AMD HD3D• AMD Eyefinity• AMD CrossFireX

Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC

Page 17: Graphics Processing Units (GPUs) Microprocesadores Para Comunicaciones Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC 1.

17

Benchmarks

GPU GTX 580 GTX 570 HD 6870 HD 6850 Intel Core i7 920

GFLOPS 1581 1405 2016 1488 70

GTX 580

GTX 570

RADEON HD 6870

RADEON HD 6850

29605

26175

18372

15174

13334

11372

7794

6186

ExtremePerformance

Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC

Page 18: Graphics Processing Units (GPUs) Microprocesadores Para Comunicaciones Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC 1.

18

Benchmarks

GTX 580

GTX 570

RADEON HD 6870

RADEON HD 6850

124.9

112.8

94.7

83

151.3

137.8

104.6

90.7

146.9

134.5

107.8

94.3

152.1

150.4

119.7

104.1

151.2

150.3

123

108.9

152.1

152.4

135.9

119.9

1440x9001440x900 (8xAA)1680x10501680x1050 (8xAA)1920x12001920x1200 (8x AA)

Resident Evil 5

Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC

Page 19: Graphics Processing Units (GPUs) Microprocesadores Para Comunicaciones Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC 1.

19

Benchmarks

Aliens vs. Predator

GTX 580

GTX 570

RADEON HD 6870

RADEON HD 6850

108.9

94.1

74.4

61.6

86.9

74.9

58.8

48.5

70.6

60.8

47.4

38.9

63.3

55.8

43.6

35.4

52.7

44.3

33.2

28.2

43

35.9

27.1

23.1

1920x1200 (4x AA y 16x AF)1680x1050 (4xAA y 16x AF)1440x900 (4xAA y 16x AF)1920x12001680x10501440x900

Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC

Page 20: Graphics Processing Units (GPUs) Microprocesadores Para Comunicaciones Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC 1.

20

Graphics Processing Units (GPUs)

Omar Espino Santana - Microprocesadores Para Comunicaciones - ULPGC