This is an introductory course covering programming and computing on GPUs (graphics processing unit) which are an increasingly common presence in massively parallel computing architectures. The basics of GPU programming will be covered, and students will work through a number of hands on examples. The structuring of data and computations that makes full use of the GPU will be discussed in detail. This year the course will expand to cover the new features available on the GPUs installed on the Graham supercomputer at the University of Waterloo. 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.
Start date: 26 Jun 2019
End date: 27 Jun 2019