The SHARCNET Summer School for Advanced Research Computing (ARC) is an annual educational event for gradute/undergraduate students, postdocs, and researchers who are engaged in compute-intensive research. These schools are free and provide beginner-to-intermediate level courses on a wide range of subjects, from traditional high performance computing to data science, machine learning, popular languages such as Python and Julia as well as domain-specific courses.

This year's summer school second (partial) offering will run from August 12 to 20, 2021 and will be 100% online as a single stream. Each course is between 2 and 3 days long and consists of materials on this web site and Zoom video conferencing sessions. Each class will start at 10:00am EDT and will end at 5:00pm EDT with multiple breaks.

This year all attendees are required to have a Compute Canada account before registering. Compute Canada accounts are free, but one has to be affiliated with a Canadian academic institution to qualify for one. To apply for a Compute Canada account, click this link. Be aware that it might take a couple of business days to get your account approved.

Preparing for Summer School

  • To take a full advantage of the courses, you will need a computer (PC or laptop), and reasonably good internet connection (ideally, 10 mbit/s or better).
  • You will also need a headset with (optionally) a microphone. Please test the headset before the school.
  • We will be using Zoom for both lecturing and hands on exercises. Zoom can be used from a browser, but it usually works better when installed as an app. Please create a Zoom account and test Zoom app before the summer school.
Summer School Registration
Enrolling in a Course
Unenrolling in a Course

To enrol in any of the courses listed below, do the following:

  • These steps can only be done after July 30, 2021 at 12:00 PM EDT.
  • If you have not logged in yet with your Compute Canada account, do so. (You must be logged in to enrol. Click the login link at the top-right, or, log in when prompted to do so.)
  • Click the name of the course.
  • Scroll down to the bottom of the page for that course, click the "Enrol me" button.

This is the last offering of these courses for this summer school --so there are no waiting lists.

To unenrol yourself from a course you registered in, do the following:

  • Go to the course's main page that you are registered in by clicking the course's link.
  • Click the "gear" icon at the top-right hand side of the main course screen.
  • Click the "Unenrol" link.

This is a common area for all 2021 Summer School course registrants. Everyone that is registered in a Summer School 2021 course is automatically granted access to this common area.

The common area contains:

  • a link to the Summer School 2021 Slack used during courses,
  • an email link to submit a ticket to concerning Summer School 2021, and,
  • a Summer School 2021 announcements forum.
Access is restricted to Digital Research Alliance of Canada (formerly Compute Canada) authenticated users only: Yes

Description: This course features two sessions, focussing on first principles when interacting with the shell, and job submission through the slurm scheduler. The first day will be dedicated to the shell, and cover topics such as: starting a command-line session, moving around and looking at things, accessing software, and more. The second session will introduce the concepts necessary to understanding job scheduling in an HPC environment. By the end of both sessions, attendees will be able to connect to a Canadian supercomputer, create or upload their own scripts, and submit them to the scheduler.

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

Description: Deep learning has been getting lots of attention from many different fields including business/finance, image handling and even science simulation. 2-Day Deep learning foundation course is recommended for who wants to actually program it. The course will proceed with presentation and live demonstration using Google Colab and eventually will help the student to run his/her code on Graham cluster in Compute Canada. Day 1 will cover Multivariable linear regression and MNIST image classification using linear and Multi-Layer Perceptron (MLP) including some techniques to avoid overfitting. Day 2 will cover CIFAR10 image classification with Convolutional Neural Network and a simple example with Recurrent Neural Network. All coding will be done using Google Colab in Python 3 and PyTorch 1.8.

Length: 2 days

Prerequisite knowledge: Basic knowledge on Python and object oriented programming.

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

Description: Writing code using modern C++ not only results in shorter, faster, and more robust code, it is also easier to maintain and update. Writing parallel code using modern C++ should result in straight-forward, sane-to-maintain/debug code. This course will cover what comprises modern C++ programming and will then present and discuss how to use modern C++ to write parallel code.

Length: 3 days

Prerequisite knowledge: Some experience writing C/C++ code.
Access is restricted to Digital Research Alliance of Canada (formerly Compute Canada) authenticated users only: Yes