Multicore and GPU Programming for Video Games

Multicore and GPU Programming for Video Games

Many thanks to our sponsors!

This is the archival webpage for the Fall 2007 version of the class.
here for the Fall 2008 webpage.

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

Aaron Lanterman (ECE) and
Hsien-Hsin “Sean” Lee (ECE)
(with guest lectures on the Cell processor by Seunghwa Kang and Kamesh

(ymzhangcn__at__gmail__com) (Klaus 2341).

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.

Goals: This class covers the the
architecture and programming of multicore
processors and graphical processing units (GPUs), using examples
from the algorithmic needs of modern 3-D games (rendering,
collision detection, physics engines, and artifical intelligence),
as well as techniques for adapting
such architectures
for use in scientific applications, as in the GPGPU (General-Purpose GPU)
The class will focus on inexpensive consumer hardware,
particularly the Playstation 3,
the Xbox 360, and NVIDIA and ATI graphics cards. The
trade-offs between asymmetric
multicore architures (such as the STI Cell BE
used in the Playstation 3) and symmetric
multicore architectures
(such as the triple-Power PC used in the Xbox 360) will be discussed.

Grading will be primarily
based on a series of five programming assignments. There will
also be a final quiz, which will be weighted the same as one of the

Further information