0% found this document useful (0 votes)
82 views21 pages

Graphics Processing Unit

1. GPUs evolved from simple hardware that offloaded basic graphics processing tasks from the CPU to specialized processors with programmable pipelines. 2. The graphics pipeline was implemented through fixed-function GPU hardware but became more flexible and powerful through the introduction of programmable vertex and fragment shaders. 3. Modern GPUs are highly parallel, general-purpose processors suited for data-parallel workloads through technologies like NVIDIA's CUDA that allow non-graphics applications to take advantage of the GPU's computational power.

Uploaded by

fajal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
82 views21 pages

Graphics Processing Unit

1. GPUs evolved from simple hardware that offloaded basic graphics processing tasks from the CPU to specialized processors with programmable pipelines. 2. The graphics pipeline was implemented through fixed-function GPU hardware but became more flexible and powerful through the introduction of programmable vertex and fragment shaders. 3. Modern GPUs are highly parallel, general-purpose processors suited for data-parallel workloads through technologies like NVIDIA's CUDA that allow non-graphics applications to take advantage of the GPU's computational power.

Uploaded by

fajal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

GPU

Graphics Processing Unit


Scene
Graphics
Transformations Pipeline
Lighting &
Shading

Viewing
Transformations
GPUs evolved as
hardware and software
algorithms evolve 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.
Frame
CPU Display
buffer
Geometry data
More detailed
Transform & lighting
pipeline
Culling, perspective divide,
viewport mapping

Simple functionality Rasterization


transferred to Simple texturing
specialized
hardware. Depth test

Frame buffer blending


Geometry data

Transform & lighting


Add more
functionality to
Culling, perspective divide,
GPU. viewport mapping

Simple Rasterization
functionality Simple texturing
transferred to
specialized Depth test
hardware
Frame buffer blending
• Pipeline implemented in hardware
Fixed function GPU pipeline

• Each stage does fixed task


• Tasks are parameterized
• Inflexible – fixed, parameterized functions
• Vector-matrix operations (some parallelism).
Scene
Transformations GPU
Lighting &

CPU Shading Frame Display


Viewing
Transformations buffer
Rasterization
Technology advances
• Hardware gets cheaper, smaller, and more
powerful

• Parallel architectures develop


• Graphics processing get more sophisticated
(environmental mapping, displacement
mapping, sub-surface scattering)

• Need more flexibility in GPUs.


Make this Geometry data
programmable:
Transform & lighting
Vertex Shader

Culling, perspective divide, viewport


mapping

Rasterization

Make this Complex texturing


programmable:
Depth test, alpha test, stencil test
Fragment Shader
Frame buffer blending
Vertex shader
• Graphics systems: convert everything to
triangles

• Pass vertices, normals, colors, texture


coordinates to GPU processor

• GPU: vertex-based computations,


▪ Independent of other vertices

• Later, assemble into triangles.


Fragment shader
• Fragment is triangle clipped to pixel
▪ Interpolate values

• Multiple textures, Alpha, stencil, depth


▪ Independent of other fragments

• Blend with contents of frame buffer.


Geometry data
Vertex Vertex Vertex
Shader Shader Shader

Culling, perspective divide,


Introduce viewport mapping
parallelism:
add multiple Rasterization
units Fragment Fragment Fragment
Shader Shader Shader

Alpha test, depth test, stencil test

Frame buffer blending


Shading language
• Shade trees -> Pixar’s Renderman shader
Shader Language
• Low level (like assembler) but high-level
language compilers: nVidia’s Cg

• 4 component floating point data type


• SIMD
Cg: C-based graphics program
• Array & structures
• Flow control
• Vectors & matrices
• No memory allocation, file I/O
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
Next: unify shaders
• One set of shaders
• Allocate to either vertices or fragments
Pipeline evolved
Evolved pipeline
GPGPU
• Make GPU more general – adapt certain types of programs to
it’s pipelined, parallel architecture

• Single GeForce 8800 chip achieves a sustained 330 billion


floating-point operations per second (Gflops) on simple
benchmarks

•Cost-effective: graphics driving demand up, supply up, price


down for GPUs

•Finding uses in non-graphics applications.


GeForce 8800 GTX
More general: NVIDIA’s CUDA
•More general data parallel model
•Decompose across threads
•Sharing and communication between threads..

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy