SIGGRAPH 2008: Beyond Programmable Shading

Welcome to the course notes and supplementary materials for the full-day SIGGRAPH 2008 Beyond Programmable Shading course!

The course will be held at SIGGRAPH 2008 on Thursday, August 14, 2008.

Overview

This course is presented in two parts, Fundamentals and In Action.

Fundamentals gives an introduction to parallel programming architectures and environments for interactive graphics and In Action explores case studies of combining traditional rendering API usage with advanced parallel computation from game developers, researchers, and graphics hardware vendors. There are strong indications that the future of interactive graphics involves a programming model more flexible than today's OpenGL/Direct3D pipelines. As such, graphics developers need to have a basic understanding of how to combine emerging parallel programming techniques with the traditional interactive rendering pipeline. This course gives an introduction to several parallel graphics architectures and programming environments, and introduces the new types of graphics algorithms that will be possible. The case studies in the class discuss the mix of parallel programming constructs used, details of the graphics algorithm, and how the rendering pipeline and computation interact to achieve the technical goals.

The course presenters are experts on general-purpose GPU computation and advanced rendering from academia and industry, and have presented papers and tutorials on the topic at SIGGRAPH, Graphics Hardware, Supercomputing, IEEE Visualization, and elsewhere.

Course Organizers

Aaron Lefohn, Intel
Mike Houston, AMD

Course Speakers

Chas Boyd, Microsoft
Kayvon Fatahalian, Stanford University
Tom Forsyth, Intel
Mike Houston, AMD
Aaron Lefohn, Intel
David Luebke, NVIDIA
Aaftab Munshi, Apple
Jon Olick, id Software
John Owens, University of California, Davis
Fabio Pellacini, Dartmouth University
Matt Pharr, Intel
Jeremy Shopf, AMD

Course Notes

Beyond Programmable Shading: Fundamentals

  1. 8:30–8:40: Why and How is Interactive Graphics Programming Changing?
    Aaron Lefohn, Intel
  2. 8:40–8:55: Running Code at a Teraflop: How GPU Shader Cores Work
    Kayvon Fatahalian, Stanford (Kayvon's new graphics blog)
  3. 8:55–9:15: NVIDIA GPU Architecture: Implications & Trends
    David Luebke, NVIDIA
  4. 9:15–9:35: Anatomy of AMD's TeraScale Graphics Engine
    Mike Houston, AMD
  5. 9:35–9:55: Larrabee Graphics Architecture: Software is the New Hardware
    Tom Forsyth, Intel
  6. 9:55–10:15: Parallel Programming Models Overview
    John Owens, UC Davis
  7. 10:30–10:50: Introduction to the AMD Stream SDK
    Mike Houston, AMD
  8. 10:50–11:10: CUDA Fundamentals
    David Luebke, NVIDIA
  9. 11:10–11:30: The DirectX 11 Compute Shader
    Chas Boyd, Microsoft
  10. 11:30–11:50: OpenCL
    Aaftab Munshi, Apple
  11. 11:50–12:10: Programming Larrabee: Beyond Data Parallelism
    Aaron Lefohn, Intel

Beyond Programmable Shading: In Action

  1. 1:45–2:00: Introduction: Better Interactive Graphics Through Computation
    Mike Houston, AMD
  2. 2:00–2:30: Interactive Cinematic Lighting
    Fabio Pellacini, Dartmouth
  3. 2:30–3:00: Current Generation Parallelism in Games
    Jon Olick, id Software
  4. 3:00–3:30: Next Generation Parallelism in Games
    Jon Olick, id Software
  5. 3:45–4:15: NVIDIA Case Studies: Compute-Enabled Graphics
    David Luebke, NVIDIA
  6. 4:15–4:45: AMD Case Study: March of the Froblins
    Jeremy Shopf, AMD
  7. 4:45–5:15: Beyond Data Parallel: Advanced Rendering on Larrabee
    Matt Pharr, Intel