Supercomputing at IAP

By Sara Bonner, Programmer Analyst II, OEIT

The IAP 2009 CUDA @MIT course 6.963 provided students the opportunity to practice hands on parallel programming with inexpensive massively parallel graphics cards using Compute Unified Device Architecture (CUDA). The goal of this class was to introduce supercomputing on cheap commodity hardware to the MIT community. The hope is that researchers will take advantage of this remarkably cheap and innovative technology to significantly accelerate computational sciences, making more experimentally testable hypotheses attainable.

Nicolas Pinto, a graduate student in Brain and Cognitive Sciences, taught the class with the sponsoring professor, Steven Johnson, Professor of Applied Mathematics. Justin T. Riley, a software developer in the STAR group of OEIT, and Nicolas Poilvert, a graduate student in Materials Science, participated as Teacher’s Assistants. NVIDIA donated ~$40k of high performance graphics processing units (GPUs) for the project and Harvard University provided several host machines, racks, and other equipment needed. DUE/OEIT supplied 20 Macbook Pro laptops especially configured for the course to enable development and prototyping of GPU code.

CUDA allows general purpose parallel computing on GPUs. It enables researchers/developers to run highly complex computational problems in a mere portion of the time it would take traditional CPUs. This is achieved by allowing the 128 cooperating cores on the graphics card to communicate with each other and run multithreaded applications efficiently.

Fifteen of the 40 students who attended the first day of class registered for credit. The students worked in groups to research their problems and develop the programs. The only project requirement was that it be a demanding application with data intensive computation, such as intensive mathematics or physics based simulations. The outcome was the completion of the following six projects:

Biologically Inspired Object Recognition
GPU Optimized Regression Analysis
H.264 Motion Estimation in CUDA
Lipid Bilayers Simulation
Particle Interaction Simulation
Pedestrian Detection in High Definition Video Frames