SIGGRAPH Asia 2008: Parallel Computing for Graphics: Beyond Programmable Shading

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

The course was held at SIGGRAPH Asia 2008 on Friday, 12 December.

Overview

This course provides an introduction to parallel-programming architectures and environments for interactive graphics and demonstrates how to combine traditional rendering API with advanced parallel computation.

There are strong indications that the future of interactive graphics involves a more flexible programming model than today's OpenGL/Direct3D pipelines. That means that graphics developers will need a basic understanding of how to combine emerging parallel-programming techniques with the traditional interactive rendering pipeline. The first half of the course introduces several parallel graphics architectures, programming environments, and the new types of graphics algorithms that will be possible. The second half presents case studies of how game developers, researchers, and graphics hardware vendors combine traditional rendering API techniques with advanced parallel computation. Each case study includes a live demo and discusses 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, and elsewhere.

Course Organizers

Jason Yang, AMD
Justin Hensley, AMD
Tim Foley, Intel

Course Speakers

Anselmo Lastra, University of North Carolina, Chapel Hill
Jason Yang, AMD
Tim Foley, Intel
Mark Harris, NVIDIA
Kun Zhou, Zhejiang University
Anjul Patney, University of California, Davis
Christopher Oat, AMD
Pedro Sander, Hong Kong University of Science and Technology (HKUST)

Course Notes

  1. 8:30–8:45: Introduction
    Anselmo Lastra, UNC - Chapel Hill
  2. 8:45–9:30: Throughput Computing: Hardware Basics
    Justin Hensley, AMD
  3. 9:30–10:15: Introduction to Parallel Programming Models
    Tim Foley, Intel
  4. 10:30–11:00: Introduction to CUDA
    Mark Harris, NVIDIA
  5. 11:00–11:30: BSGP: Bulk-Synchronous GPU Programming
    Kun Zhou, Zhejiang University
  6. 11:30–12:15: Introduction to OpenCL
    Jason Yang, AMD
  7. 13:45–14:15: Real-Time Reyes: Programmable Pipelines and Research Challenges
    Anjul Patney, UC Davis
  8. 14:15–14:50: Parallel Programming on Larrabee
    Tim Foley, Intel
  9. 14:50–15:20: Stream Computing for Graphics
    Christopher Oat, AMD
    15:20–15:30: OpenCL Demo
    Justin Hensley, AMD
  10. 15:45–16:10: Parallel Geometry Processing on Graphics Hardware
    Videos (dragon1.wmv dragon2.wmv dragon-cv.wmv lucy1.wmv lucy2.wmv statue1.wmv statue2.wmv)
    Pedro Sander, HKUST
  11. 16:10–16:15: NVIDIA OpenCL Demo
    16:15–16:50: CUDA Fluid Simulation in NVIDIA PhysX
    Mark Harris, NVIDIA
  12. 16:50–17:25: Next-Generation Graphics on Larrabee
    Tim Foley, Intel