GPU Graphics Processing Unit
22 Slides2.62 MB
GPU Graphics Processing Unit
Graphics Pipeline Scene Transformations Lighting & Shading Viewing Transformation s Rasterization
Early Graphics Originally, no specialized graphics hardware All processing in software on CPU, Results transmitted to frame buffer first, external frame buffers later, internal frame buffers. CPU Frame buffer Display
GPU fixed functio n graphic s pipelin e Geometry data Transform & lighting Culling, perspective divide, viewport mapping Rasterization Texturing Alpha test, depth test, stencil test Frame buffer blending
Fixed function pipeline Pipeline fixed in hardware Each stage does fixed task Tasks are parameterized Inflexible
Programmable Pipeline GPU is programmable Shader programs Vertex shaders & Fragment (or pixel) shaders
Programma ble GPU graphics pipeline Geometry data Vertex Shader Culling, perspective divide, viewport mapping Rasterization Fragment Shader Alpha test, depth test, stencil test Frame buffer blending
Shader Language Low level (like assembler) but highlevel language compilers 4 component floating point data type SIMD Direct3D: Microsoft NV Vertex Program: OpenGL extension
Programmable Pipeline 60 frames per second hardware pipeline of specialized stage general-purpose parallel computational engine
Power GPUs have moved away from the traditional fixed-function 3D graphics pipeline toward a flexible general-purpose computational engine. the raw computational power of a GPU dwarfs that of the most powerful CPU, and the gap is steadily widening. GPUs have moved away from the traditional fixed-function 3D graphics pipeline toward a flexible general-purpose computational engine
Pipeline input Graphics systems: convert to triangles Pass vertices to GPU processor GPU: assemble into triangles
Rasterization
Model transformations
Lighting
Camera simulation
Texturing
hidden surfaces
Graphics pipeline evolved
Pipeline evolved
Evolved pipeline
Unified Shaders
GPGPU Single GeForce 8800 chip achieves a sustained 330 billion floatingpoint operations per second (Gflops) on simple benchmarks