Quick viewing(Text Mode)

The Evolution of Computer Graphics Tony Tamasi SVP, Content & Technology, NVIDIA

The Evolution of Computer Graphics Tony Tamasi SVP, Content & Technology, NVIDIA

The Evolution of Graphics Tony Tamasi SVP, Content & ,

© 2008 NVIDIA Corporation. Graphics

• Make great images – intricate shapes – complex optical effects – seamless motion

• Make them fast – invent clever techniques – use every trick imaginable – build monster hardware

© 2008 NVIDIA Corporation. What is a ?

• Massively Parallel - 1000s of processors (today)

• Hardware managed parallelism – achievable performance

• Specialized processing – order of magnitude more efficient

• Latency Tolerant – throughput oriented

• Memory Bandwidth – saturate 100’s GB/sec

• Not dependent – ALU heavy architecture

© 2008 NVIDIA Corporation. Or, we could do it by hand…

Perspective study of a chalice Paolo Uccello, circa 1450

© 2008 NVIDIA Corporation. What is reality?

• Reality is 80 million polygons. Alvy Ray Smith 1999

© 2008 NVIDIA Corporation. © 2008 NVIDIA Corporation. Image © and courtesy Digital Domain © 2008 NVIDIA Corporation. Image © and courtesy Digital Domain Evolution of GPU Game

© 2008 NVIDIA Corporation. GPU Architecture Progression

Test Drive 6 Far Cry

1999 2001 2003 2005 2007 Multi-texture, Programmable vertex, Fragment programs, Transparency Double Precision 32b rendering 3D textures, shadow and depth antialiasing maps, multisampling compression

1998 2000 2002 2004 2006 16-bit depth, T&L, cube maps, Early z-cull, Flow control, Unified , Color, and , Dual-monitor FP textures, shader, textures Anisotropic filtering VTF CUDA/

Ballistics Crysis

© 2008 NVIDIA Corporation. Graphics 1998

© 2008 NVIDIA Corporation. GPU 2003

• Dawn of programmable • Vertex & • More (8) per clock • Faster/Wider/Larger memory • 32-bit and higher precision

© 2008 NVIDIA Corporation. GPU 2003

• GeForce® FX 5800 – Shader Model 2 – 4 ppc / 8tpc @ 500 Mhz – Single precision – AGP8x – 128b 16GB/sec memory system – 4 processors @ 500 MHz – Single threaded – massive SIMD width

– Programmed in OpenGL, DirectX or assembly

© 2008 NVIDIA Corporation. GPU 2003

Riva GeForce 128ZX FX5800 1998 2003 Texture Performance (tex/s) 0.1G 4 G

Antialiasing Performance (sam/s) 0.1G 2 G

Depth Performance (pix/s) 0.1G 4 G

Floating Point Performance (FLOPS) n/a 12 G

Memory Bandwidth (B/s) 1.6G 16 G

© 2008 NVIDIA Corporation. The Graphics

Vertex Transform & • Key abstraction of real-time graphics

Triangle Setup & Rasterization • Hardware used to look like this

Texturing & Pixel Shading • Distinct chips/boards/units per stage

Depth Test & Blending • Fixed data flow through pipeline

Framebuffer

© 2008 NVIDIA Corporation. GPU Architecture 2003

Vertex Vertex Vertex Vertex Vertex Vertex Vertex Vertex Shader Shader Shader Shader Shader Shader Shader Shader Triangle Setup Depth Cull

Texture Texture Texture Texture Texture Texture Texture Texture

Pixel Pixel Pixel Pixel Pixel Pixel Pixel Pixel Shader Shader Shader Shader Shader Shader Shader Shader Blend / Blend / Blend / Blend / Blend / Blend / Blend / Blend / Depth Depth Depth Depth Depth Depth Depth Depth

Memory Memory Memory Memory Memory Memory Memory Memory

© 2008 NVIDIA Corporation. Graphics 2003

© 2008 NVIDIA Corporation. Performance Trends

Texture Antialiasing Depth Floating Point Bandwidth

3200000

160000

8000

400

20

1 Ti4600 GeForce GeForce GeForce GeForce 800 Ultra GeForce3 GeForce4 GeForce4 7900 GTX 8800 GTX 7800 GTX GPU 2008 GPU 2009 GPU 2011 GPU 2012 GPU 2013 Riva TNT2 GeForce 6 FX (5800?) GPU 20010 GeForce GTS

1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013

© 2008 NVIDIA Corporation. GPU Processing CAGR 1998 - 2007

Compound Annual Growth Rate

Texture Performance 1.9

Antialiasing Performance 2.2

Depth Performance 1.9

Floating Point Performance 2.3

Memory Bandwidth 1.6

© 2008 NVIDIA Corporation. GPU 2008 Projection

CAGR GeForce Projection GeForce 1998 – 2007 FX (2003) GPU 2008 GTX 200

Texture Performance (tex/s) 1.9 4 G 71 G 48 G

Antialiasing Performance (sam/s) 2.2 2 G 252 G 153 G

Depth Performance (pix/s) 1.9 4 G 52 G 38 G

Floating Point Performance (FLOPS) 2.3 12 G 752 G 1080 G

Memory Bandwidth (B/s) 1.6 16 G 133 G 141 G Within 10%

© 2008 NVIDIA Corporation. Era of Visual Computing

Programmable Graphics CUDA – DX11 – Future

Programmable Shaders DX8 –DX9 –DX10

Fixed-Function Pipelines “3D Accelerators”

G80 Next RIVA 128 GeForce 3 GTX200 GeForce 6 CUDA Gen

1997 2001 2005 2007 2008 2009 August © 2008 NVIDIA Corporation. GPU 2008

• Dawn of fully programmable generation • Unified architectures • New graphics functionality – geometry shading • Programmable in C

© 2008 NVIDIA Corporation. The

Vertex • Remains a useful abstraction

Rasterize • Hardware used to look like this

Pixel

Test & Blend

Framebuffer

© 2008 NVIDIA Corporation. Modern GPU’s: Unified Architecture

Vertex shaders, pixel shaders, etc. become threads

running different programs on flexible cores © 2008 NVIDIA Corporation. Why unify? Vertex Shader

Pixel Shader

Idle hardware Heavy Geometry Workload Perf = 4

Vertex Shader

Idle hardware

Pixel Shader

Heavy Pixel Workload Perf© 2008 NVIDIA = 8 Corporation. Why unify?

Unified Shader

Vertex Workload

Pixel

Heavy Geometry Workload Perf = 11

Unified Shader

Pixel Workload

Vertex

Heavy Pixel Workload Perf© 2008 NVIDIA = 11 Corporation. GPU 2008

• GeForce® GTX 200 – Shader Model 4 – Double precision – PCI-Express Gen2 – 512b 140GB/sec memory system – 32ppc / 80 tpc @ 600 Mhz – 240 processors @ 1.5 GHz – Many threaded – scalar

– Programmed in OpenGL, DirectX, CUDATM C

© 2008 NVIDIA Corporation. GPU Processing

CPU GFLOPS GPU GFLOPS © 2008 NVIDIA Corporation. GPU Architecture 2008 Processing Cores

Dataflow Manager Memory & I/O Memory & I/O Processor Processor Processor . . . Special Purpose Special Purpose Special Purpose Special Purpose L1 L1 L1 L1 L1

L2

Processor Fabric

© 2008 NVIDIA Corporation. State of the art 2008

Far Cry 2 - Ubisoft Grid - Codemasters

Bionic Commando - Call of Duty 5 - Activision © 2008 NVIDIA Corporation. GPU 2013

Virtual Pipeline 2003 2005 2008 Fragment programs, Transparency, Double precision Color and depth antialiasing Preemption compression

2004 2006 Flow control, Unified shader, C++ FP textures, geometry shader, VTF CUDA/C Complete pointer support Adaptive Workload Partitioning

© 2008 NVIDIA Corporation. GPU 2013

• Arbitrary dataflow • General purpose programming model • Special purpose hardware • Hardware managed threading and pipelining • Freely intermingle “graphics” & computation

© 2008 NVIDIA Corporation. Performance Trends

Texture Antialiasing Depth Floating Point Bandwidth

3200000

160000

8000

400

20

1 Ti4600 GeForce GeForce GeForce GeForce 800 Ultra GeForce3 GeForce4 GeForce4 7900 GTX 8800 GTX 7800 GTX GPU 2008 GPU 2009 GPU 2011 GPU 2012 GPU 2013 Riva TNT2 GeForce 6 FX (5800?) GPU 20010 GeForce GTS

1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013

© 2008 NVIDIA Corporation. GPU 2013

CAGR GeForce GTX GPU 2013 1998 - 2007 200

Texture Performance (tex/s) 1.9 48 G 1+ T

Antialiasing Performance (sam/s) 2.2 153 G 10+ T

Depth Performance (pix/s) 1.9 38 G 1+ T

Floating Point Performance (FLOPS) 2.3 1080 G 20+ T

Memory Bandwidth (B/s) 1.6 141 G 1+ T

© 2008 NVIDIA Corporation. Rich Environments Fracture Soft Shadows

Detailed Characters

Ambient Occlusion Indirect Lighting Subsurface Scatter

Turbulence Participating Media Simulations Fluids © 2008 NVIDIA Corporation. The Future of Graphics Processing

• Programmable and Specialized Processing

• Monster performance and power efficiency

• Graphics and Arbitrary C/C++ Programming

and Rasterization

• Rendering and Simulation

…Evolution

© 2008 NVIDIA Corporation. The Evolution of

© 2008 NVIDIA Corporation.