CUDA Teaching Center offers cutting-edge skills to grad students

Graduate students at Purdue University are learning the latest in parallel programming, and that experience is helping them find good jobs after graduation.

“I was lucky to have graduates at DreamWorks, Adobe, Microsoft, and television stations,” said Bedrich Benes, associate professor of computer graphics technology and leader of the CUDA Teaching Center at Purdue. “Some of this year’s students have secured job offers already, in part because of the valuable experience they get in this course.”

The course is CGT 62000 “Introduction to CUDA”, which will be offered again in 2014 as part the College of Technology’s participation in the NVIDIA company’s CUDA Teaching Center program. The Purdue program was renewed in December by NVIDIA after successfully completing its initial three-year period, which began in 2011.

Since Benes began offering the course, it has attracted students not only from the College of Technology, but also from the College of Engineering and the Department of Computer Science.

“CUDA is a programming framework that harnesses the power of graphics processing units to do scientific calculations. The most powerful computers run on a combination on GPUs and CPUs,” Benes said. “Using one GPU is like using thousands of CPUs. It is extremely powerful, but the problem is that it requires different way of programming. This is why the teaching centers are established all over the world.”

GPUs, until recently, were used mainly for processing memory-intense video games, simulators, and virtual reality applications. Some of the newer processors, however, are being manufactured specifically for crunching big data sets.

“I’ve been teaching graphics courses for 15 years, so I’m accustomed to thinking about the graphics card,” Benes said. “The problem is that the rest of the programming community is not used to this programming, so we are teaching the rest of Purdue and the world how to squeeze the maximum possible limit out of graphics cards for scientific applications.”

Read the Purdue Exponent story about the course.

Benes’s work with the program also has resulted in published research focused on how to teach parallel programming: