AAnn IInnttrroodduuccttiioonn ttoo MMooddeerrnn GGPPUU AArrcchhiitteeccttuurree AAsshhuu RReeggee DDiirreeccttoorr ooff DDeevveellooppeerr TTeecchhnnoollooggyy Agenda • Evolution of GPUs • Computing Revolution • Stream Processing • Architecture details of modern GPUs Evolution of GPUs Evolution of GPUs (1995-1999) • 1995 – NV1 • 1997 – Riva 128 (NV3), DX3 • 1998 – Riva TNT (NV4), DX5 • 32 bit color, 24 bit Z, 8 bit stencil VViirrttuuaa FFiigghhtteerr • Dual texture, bilinear filtering ((SSEEGGAA CCoorrppoorraattiioonn)) • 2 pixels per clock (ppc) NNVV11 5500KK ttrriiaanngglleess//sseecc • 1999 – Riva TNT2 (NV5), DX6 11MM ppiixxeell ooppss//sseecc • Faster TNT 11MM ttrraannssiissttoorrss • 128b memory interface 1166--bbiitt ccoolloorr • 32 MB memory NNeeaarreesstt ffiilltteerriinngg • The chip that would not die ☺ 11999955 Evolution of GPUs (Fixed Function) • GeForce 256 (NV10) • DirectX 7.0 • Hardware T&L • Cubemaps • DOT3 – bump mapping DDeeuuss EExx • Register combiners ((EEiiddooss//IIoonn SSttoorrmm)) • 2x Anisotropic filtering NNVV1100 • Trilinear filtering 1155MM ttrriiaanngglleess//sseecc 448800MM ppiixxeell ooppss//sseecc • DXT texture compression 2233MM ttrraannssiissttoorrss • 4 ppc 3322--bbiitt ccoolloorr • Term “GPU” introduced TTrriilliinneeaarr ffiilltteerriinngg 11999999 NV10 – Register Combiners Input RGB, Alpha Input RGB Function RGB Next Combiner’s Registers Mappings Scale/Bias RGB Registers A A op B 1 B RGB Portion C op2D C AB op CD 3 D Input Alpha, Blue Input Alpha Alpha Next Combiner’s Registers Mappings Function Scale/Bias Alpha Registers A AB Alpha B Portion CD C AB op CD 4 D Evolution of GPUs (Shader Model 1.0) • GeForce 3 (NV20) • NV2A – Xbox GPU • DirectX 8.0 • Vertex and Pixel Shaders • 3D Textures RRaaggnnaarrookk OOnnlliinnee ((AAttaarrii//GGrraavviittyy)) • Hardware Shadow Maps NNVV2200 • 8x Anisotropic filtering 110000MM ttrriiaanngglleess//sseecc • Multisample AA (MSAA) 11GG ppiixxeell ooppss//sseecc 5577MM ttrraannssiissttoorrss • 4 ppc VVeerrtteexx//PPiixxeell sshhaaddeerrss MMSSAAAA 22000011 Evolution of GPUs (Shader Model 2.0) • GeForce FX Series (NV3x) • DirectX 9.0 • Floating Point and “Long” Vertex and Pixel Shaders • Shader Model 2.0 DDaawwnn DDeemmoo • 256 vertex ops ((NNVVIIDDIIAA)) • 32 tex + 64 arith pixel ops NNVV3300 • Shader Model 2.0a 220000MM ttrriiaanngglleess//sseecc • 256 vertex ops 22GG ppiixxeell ooppss//sseecc 112255MM ttrraannssiissttoorrss • Up to 512 ops SShhaaddeerr MMooddeell 22..00aa • Shading Languages • HLSL, Cg, GLSL 22000033 Evolution of GPUs (Shader Model 3.0) • GeForce 6 Series (NV4x) • DirectX 9.0c • Shader Model 3.0 • Dynamic Flow Control in FFaarr CCrryy HHDDRR Vertex and Pixel Shaders1 ((UUbbiissoofftt//CCrryytteekk)) • Branching, Looping, Predication, … NNVV4400 • Vertex Texture Fetch 660000MM ttrriiaanngglleess//sseecc 1122..88GG ppiixxeell ooppss//sseecc • High Dynamic Range (HDR) 222200MM ttrraannssiissttoorrss • 64 bit render target SShhaaddeerr MMooddeell 33..00 • FP16x4 Texture Filtering and Blending RRoottaatteedd GGrriidd MMSSAAAA 1Some flow control first introduced in SM2.0a 1166xx AAnniissoo,, SSLLII 22000044 Far Cry – No HDR/HDR Comparison
Description: