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

This self-paced course describes how to run programs on supercomputers using the BASH shell. In addition to the basic BASH shell usage, globbing, regular expressions, redirection, pipes, and scripting will also be covered.

Prerequisites: None.

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

This course provides an introduction to machine learning that enables computers to learn AI models from data without being explicitly programmed. Rather than presenting the key concepts and components of machine learning in an abstract way, this course introduces them with a small number of examples. By using plotting and animations, insight into some of the mechanics of machine learning can be had. By the end of this course, the student will have an initial understanding and experience with some of the fundamentals of machine learning enabling subsequent exploration.

Prerequisites:

  • Basic Python knowledge and experience.
  • Using Alliance compute clusters.
  • Knowledge and experience with Tensorflow and Scikit-learn would also be helpful.
Access is restricted to Digital Research Alliance of Canada (formerly Compute Canada) authenticated users only: Yes