CSE 392/591 - GPU Programming
General Info:
Instructor: Prof.
Klaus Mueller
Office hours: SUNY Korea B-471, We 2-3pm
(or send email for other arrangements)
Phone: +82-32-626-1200
Email:
mueller{remove_this}@cs.sunysb.edu
Grader:
Meeting time and venue:
SUNY Korea, B-204, MW 10:00 - 11:20 am
Summary:
Multi-core processors are no longer
the future of computing -- they are the present day reality. A typical
mass-produced CPU features multiple processor cores, while a GPU
(Graphics Processing Unit) may have hundreds of cores. With the rise of
multi-core architectures has come the need for advanced programmers to
know a new and essential skill: how to program massively parallel
processors. This course presents the basic concepts of parallel
programming and the GPU architecture. Various techniques for
constructing parallel programs are explored in detail. Case studies
demonstrate the development process, which begins with computational
thinking and ends with effective and efficient parallel programs. We
will utilize CUDA, NVIDIA’s software development tool developed
specifically for massively parallel environments, as well as OpenCL.
Prerequisites:
Graduate standing
Working knowledge of C/C++
Texts:
Required: Programming
Massively Parallel Processors, Secomd Edition: A Hands-On Approach by David Kirk and Wen-mei Hwu (book website)
Reference: CUDA Programming:
A Developer's Guide for Parallel Programming with GPUs
by Shane Cook
Grading:
Midterm 30%
Lab assignments: 30%
Final Project: 40%