Multicore and GPU Programming for Video Games

Many thanks to our sponsors!

When and where: Fall 2008, MWF 1:05-1:55, Van Leer C241

Instructors: Aaron Lanterman (ECE) and Hsien-Hsin "Sean" Lee (ECE)

Webpage for the Fall 2007 offering of the course

Prereqs: ECE3035: Mechanisms for Computation or CS2110: Computer Organization and Programming. Students must be comfortable with C programming. To be widely accessible to ECE students, no background in computer graphics will be required.

Course objective: This class provides the multicore and GPU programming skills needed to meet timely demands of the multimedia, visualization, and gaming industries. The course also bridges the gap between our current generic computer architecture courses and the video game design courses offered by the College of Computing. The class covers two major aspects. We will first discuss state-of-the-art GPU architectures and multicore architectures from application and hardware design perspectives. We then also consider examples from the algorithmic needs of modern 3-D games (e.g. geometry processing, shading algorithms, physical modeling, collision detection, and artificial intelligence), as well as techniques for adapting inexpensive GPU and multicore architectures for potential use in scientific applications.

Projects: Students will be expected to undertake several projects to gain real programming experience on the Cell processor, the Xbox 360, and NVIDIA or ATI graphics cards. NVIDIA and ATI have made donations of several boards to support our class projects. The IBM Center of Competence at Georgia Tech also has generously provided access to their Cell blade system. The final letter grade will be based on performance on these projects.

Further information