Advanced Parallel Graphics
Number: CSD 15-668
Location: WEH 5320
Instructor: Adrien Treuille
TA: Duncan Boehle
Time: TR 1:30 - 2:50pm


This course covers the use of programmable GPU hardware to solve hard graphics problems. The goal is to teach techniques to parallelize algorithms using CUDA—while working on fun projects, and practicing quick problem solving and public presentation skills.


The class is made up of group discussions and lectures. Each class starts with a question—essentially challenging you and your classmates to solve the problem better than the existing techniques. Then, the lecture will discuss the simulation topic and how it relates to parallel GPU programming.

Grading is computed as follows:
  • (5%) Project 1.
  • (5%) Project 2.
  • (10%) Project 3.
  • (25%) Project 4.
  • (10%) Project 5.
  • (10%) Project 6.
  • (25%) Project 7.
  • (10%) Class Presentation / Participation.
Grading for late projects must be negotiated with me before the project is due.

Project 1 Winners

P1 contest winners: Prettiest fractal viewers (Click on any image to see the full resolution)

1st Place (tied) -- Nikita Nesterov
1st Place (tied)-- Andrew Wesson
2nd Place -- Matthew Kaemmerer

Project 7 Winners

P7 results: Most original/interesting research

Ross Adelman: 5 Computers viewing the same rigid body simulation

Download full-resolution video here

Alfred Barnat: Distributed SPH simulation

Download full-resolution video here


Note: This syllabus may change during the course. Keep checking back.

Data Parallelism
Name: Overview
Date: Tue 01/11
Slides: Lecture 01 Slides
Name: Data Parallelism
Date: Thu 01/13
Slides: Lecture 02 Slides
Name: No Class (Adrien out of Town)
Date: Tue 01/18
Name: No Class (Adrien out of Town)
Date: Thu 01/20
Name: Graphics Architectures
Date: Tue 01/25
Slides: Lecture 03 Slides
Notes: Pixel Buffer Objects and CUDA
Project: Project 1 Assigned: Fractals
Project: Project 1 Description
Project: Project 1 Skeleton Code
Name: Linear Systems
Date: Thu 01/27
Slides: Lecture 04 Slides
Name: GPU Caching
Date: Tue 02/01
Slides: Lecture 05 Slides
Project: Project 1 Due
Name: Poisson Blending
Date: Thu 02/03
Slides: Lecture 06 Slides
Project: Project 2 Assigned: Blending
Project: Project 2 Description
Project: Project 2 Extra Credit
Project: Project 2 PBO Manual
Project: Project 2 Skeleton Code
Name: Graph Cuts
Date: Tue 02/08
Slides: Lecture 07 Slides
Project: Graph Cuts on CUDA
Project: Max Flow
Name: Graph Cut Image Analysis
Date: Thu 02/10
Project: Project 4 Assigned
Project: Project 4 Description
Name: More Graph Cuts!
Date: Tue 02/15
Slides: Lecture 09 Slides
Project: Project 2 Due
Name: Prefix Sums
Date: Thu 02/17
Slides: Lecture 10 Slides
Notes: Additional Prefix Sums Reading
Name: Parallel Sorting
Date: Tue 02/22
Slides: Lecture 11 Slides
Name: Fun GPU Tricks
Date: Thu 02/24
Name: P4 Presentations
Date: Tue 03/01
Name: P4 Presentations
Date: Thu 03/03
Name: No Class (Spring Break!)
Date: Tue 03/08
Name: No Class (Spring Break!)
Date: Thu 03/10
Amortized Graphics
Name: No Class (Adrien out of Town)
Date: Tue 03/15
Name: Amortization Architecture
Date: Thu 03/17
Slides: Lecture 16 Slides
Name: Light Fields
Date: Tue 03/22
Slides: Lecture 17 Slides
Project: Project 5 Assigned: Light Fields
Project: Project 5 Description
Project: Project 5 Skeleton Code
Name: Dataflow Parallelism
Date: Thu 03/24
Slides: Lecture 18 Slides
Name: Queuing Theory
Date: Tue 03/29
Project: Project 6 Assigned: Amortized Light Fields
Project: Project 6 Skeleton Code
Name: Precomputed Radiance Transfer
Date: Thu 03/31
Slides: Lecture 20 Slides
Name: Image + Video Compression
Date: Tue 04/05
Slides: Lecture 21 Slides
Project: Project 5 & 6 Due
Project: Project 7 Assigned
Project: Project 7 Description
Name: Model Reduction
Date: Thu 04/07
Name: Guest Talk: GPGPU Programming in cl.oquence
Date: Tue 04/12
Name: No Class (Carnival)
Date: Thu 04/14
Name: No Class
P7 Preparation day

Date: Tue 04/19
Name: P7 Presentations
Date: Thu 04/21
Name: P7 Presentations
Date: Tue 04/26
Name: P7 Presentations
Date: Thu 04/28

Last updated: May 12, 2011