Multicore architectures offer the potential for performance gains, but also raise challenging research questions related to achieving all or most of that potential. We will cover the basics of multicore computing in the first few weeks of the course, then we will focus on hybrid multicore approaches, specifically: the use of Graphics Processing Units, or GPUs, for general purpose computing. This approach is receiving widespread attention because it can yield a very high rate of operations per watt - therefore it is considered a Green approach. Students will complete programming projects with CUDA and OpenCL.
Prerequisites:
CS 333, CS 321, and CS 350 or equivalent. Ability to program in C or C++ in a Unix environment.
THERE IS NO REQUIRED TEXTBOOK FOR THIS COURSE
Some discussion about GPGPU computing in this recent article