All courses in this category are courses that you can do at your own pace, on your own, at times you wish.

This self-paced online course is an introduction to GPU programming, focusing on OpenACC. The course consists of two parts, with each part containing three sections. We will start by discussing GPU architectures and basic principles of programming GPUs.  Then we will introduce basic OpenACC constructs using simple code examples: SAXPY, Julia set, reduction, and Jacobi solver. A significant attention will be given to making the code efficient. The course has a programming assignment at the end. Submitted assignments will be graded by the instructors. If your assignment fared well, you will get a certificate for the course completion.

The course was developed and is being maintained by SHARCNET staff Pawel Pomorski and Sergey Mashchenko.

Prerequisites: some experience with C/C++ programming.

Estimated time: two hours for the theory, one to two hours for practical exercises.

Access is restricted to Digital Research Alliance of Canada (formerly Compute Canada) authenticated users only: Yes