Professional Documents
Culture Documents
Architectures
Kayvon Fatahalian
http://www.cs.cmu.edu/afs/cs/academic/class/15869-f11/www/
About Kayvon
New faculty, just arrived from Stanford
Dissertation: Evolving real-time graphics pipeline for
micropolygon rendering
Kayvon Fatahalian
Kayvon Fatahalian
Core i7 (Nahalem)
Heterogeneous parallelism
Power constraints
Mobile, mobile, mobile
Real-time 3D graphics has always found a way to consume all available compute:
GPUs are efficient parallel, heterogeneous systems (that are relatively easy to
program)
Kayvon Fatahalian
Kayvon Fatahalian
Apple A5 SoC
GPU
Video
Encode/
Decode
Flash memory
Kayvon Fatahalian
Kayvon Fatahalian
16.2 MP sensor
14 bits per pixel
6 fps burst
Kayvon Fatahalian
GRAPHICS
ALGORITHMS
mapping/scheduling
MACHINE
ORGANIZATION
(the workload)
geometry processing
rasterization
texture mapping
anti-aliasing
Parallelism
Locality
Communication
The design of throughput processing cores
The role of fixed-function HW
Kayvon Fatahalian
GRAPHICS
ALGORITHMS
mapping/scheduling
MACHINE
ORGANIZATION
(the workload)
ABSTRACTIONS
(the real-time graphics pipeline)
choice of primitives
level of abstraction
Kayvon Fatahalian
Kayvon Fatahalian
Logistics 1: schedule
Expect it to be fluid
Logistics 2: expectations
This is a reading/project course
3D rendering
Model of a scene:
3D surface geometry (e.g., triangle mesh)
surface materials
lights
camera
Image
What is an architecture?
(white board)
Kayvon Fatahalian
4
2
Vertices
Primitives
(triangles, points, lines)
Fragments
Pixels
Kayvon Fatahalian
Vertices
Vertex stream
3
4
Vertices in 3D space
Vertex Processing
Vertex stream
Primitive Generation
Primitives
Primitive stream
Primitive Processing
Primitive stream
Fragment Generation
(Rasterization)
Fragments
Fragment stream
Fragment Processing
Fragment stream
Pixels
Shaded fragments
Pixel Operations
Vertices
Vertex stream
Vertex Processing
Vertex stream
3
4
Texture buffers
Vertex transform matrices
Primitive Generation
Primitives
Primitive stream
Primitive Processing
Texture buffers
Primitive stream
Fragment Generation
(Rasterization)
Fragments
Fragment stream
Fragment Processing
Texture buffers
Fragment stream
Pixels
Pixel Operations
History:
Evolution of interactive 3D graphics
Following slides borrowed from Kurt Akeley and Pat Hanrahan
http://graphics.stanford.edu/wikis/cs448-07-spring
Kayvon Fatahalian
Kayvon Fatahalian
Early years
Evans and Sutherland built machines for flight simulators
Kayvon Fatahalian
Kayvon Fatahalian
Kayvon Fatahalian
Kayvon Fatahalian
Kayvon Fatahalian
Kayvon Fatahalian
Off-line
rendering for
film
Off-line graphics advancing as well
Kayvon Fatahalian
Early PC graphics
Doom, 1993
PC 3D graphics
3D graphics acceleration for PC motivated by games
add-in boards made by 3DFX, NVIDIA, ATI, PowerVR, and more
Quake 1
Kayvon Fatahalian
Kayvon Fatahalian
Fourth generation
Programmable shading
Kayvon Fatahalian
Current generation
Tessellation (smooth/complex surfaces)
Kayvon Fatahalian
Current generation
Some GPU computations now driven by alternative
programming interface (not 3D graphics pipeline)
Kayvon Fatahalian
~100 GFLOPS
730 million transistors
~2.7 TFLOPS
2.2 billion transistors
More compute power than Pixars
entire render farm for Toy Story 1!
Kayvon Fatahalian
Readings
D. Blythe, The Rise of the Graphics Processor
Proceedings of the IEEE, 2008
Kayvon Fatahalian