Programming GPUs with CUDA

Description: This two-day session is an introductory course covering programming and computing on GPUs - graphics processing units - which are an increasingly common presence in massively parallel computing architectures. This session will cover both of the available C-like programming frameworks: NVIDIA’s CUDA C. The basics of GPU programming will be covered, and students will work through a number of hands on examples. Demonstrations of profiling and debugging applications running on the GPU will also be included. The structuring of data and computations that makes full use of the GPU will be discussed in detail. Students should be able to leave the course with the knowledge necessary to begin developing their own GPU applications.

Prerequisites: C/C++ scientific programming, experience editing and compiling code in a Linux environment. Some experience with CUDA and/or OpenMP a plus.

Date/Time: Thursday July 14, 2016, 09:30-12:30 and 13:30-16:30 Friday July 15, 2016, 09:30-12:30 and 13:30-16:30

Instructor: Sergey Mashchenko, SHARCNET, McMaster University and Pawel Pomorski, SHARCNET, University of Waterloo.

Location: WB 116

Course code: HPC133