The Compute Ontario Summer School is an annual online training event on a variety of topics in advanced research computing, high-performance computing and research data management. The 2023 summer school will offer 30 courses, ranging in length from 1 to 18 hours, running in two parallel streams.
SciNet Education Site
-
Welcome to the Education Site for SciNet, the High Performance Computing Consortium at the University of Toronto. Here you will find the course materials for all the classes and courses taught by SciNet.
Our training covers many topics in Research Computing and Data Science, in a variety of forms, such as webinars, workshops, and multi-week courses. Some events are online, while others are in-person, but many of the latter are also broadcast and recorded.
Access to slides and recordings is open to anyone, but to register for courses and to work towards a SciNet certificate, login is required. Apart from the University of Toronto graduate courses in the list, all training events are free of charge.
Skip available courses
Available courses
In about 90 minutes, learn how to use the SciNet systems Niagara and Mist, from securely logging in to running computations on the supercomputer. Experienced users may still pick up some valuable pointers.
Format: Virtual
This course is aimed at reducing your struggle in getting started with computational projects, and make you a more efficient computational scientist. Topics include well-established best practices for developing software as it applies to scientific computations, common numerical techniques and packages, and aspects of high performance computing. While we will introduce the C++ language, in one language or another, students should already have some programming experience. Despite the title, this course is suitable for many physical scientists (chemists, astronomers, ...).
This is a graduate course that can be taken for graduate credit by UofT PhD and MSc students. Students that wish to do so, should enrol using ACORN/ROSI.
This course will provide an introduction to the theory, formalisms and algorithms of quantum computing. The programming language will be Python; experience with Python will be assumed. Experience with quantum mechanics is not necessary; an introductory-level understanding of linear algebra will be assumed. The PennyLane quantum-computing programming framework (installation instructions here), provided by Xanadu, will be used. No experience with quantum computing will be expected. Classes will be held in the SciNet Teaching room, from 1:00-4:00pm.
This week's colloquium has been CANCELED. The Compute Ontario Colloquia are weekly Zoom presentations on Advanced Research Computing, High Performance Computing, Research Data Management, and Research Software topics, delivered by staff from three Compute Ontario consortia (CAC, SciNet, SHARCNET) and guest speakers. The colloquia are one hour long and include time for questions. No registration is required.
Principles and uses of relational databases with practical examples using python and sqlite on the Niagara supercomputer.
Format: In-person, but will also be broadcast and recorded.
This week's colloquium: "Exploring Self-Hosted Password Managers" by Norbert Krawiec (SciNet) The Compute Ontario Colloquia are weekly Zoom presentations on Advanced Research Computing, High Performance Computing, Research Data Management, and Research Software topics, delivered by staff from three Compute Ontario consortia (CAC, SciNet, SHARCNET) and guest speakers. The colloquia are one hour long and include time for questions. No registration is required.
This week's colloquium: "Contrastive learning" by Weiguang Guan (SHARCNET). The Compute Ontario Colloquia are weekly Zoom presentations on Advanced Research Computing, High Performance Computing, Research Data Management, and Research Software topics, delivered by staff from three Compute Ontario consortia (CAC, SciNet, SHARCNET) and guest speakers. The colloquia are one hour long and include time for questions. No registration is required.
In this workshop, you will learn advanced MPI techniques such as MPI Datatypes, application topology and MPI-IO in the context of a scientific MPI example.
In about 90 minutes, learn how to use the SciNet systems Niagara and Mist, from securely logging in to running computations on the supercomputer. Experienced users may still pick up some valuable pointers.
Format: Broadcast via Zoom and recorded.
This week's colloquium: "The Secrets Behind ChatGPT" by Fernando Hernandez (CAC). The Compute Ontario Colloquia are weekly Zoom presentations on Advanced Research Computing, High Performance Computing, Research Data Management, and Research Software topics, delivered by staff from three Compute Ontario consortia (CAC, SciNet, SHARCNET) and guest speakers. The colloquia are one hour long and include time for questions. No registration is required.
This week's colloquium: "Modern Approaches to Profiling in Python with Scalene" by Tyler Collins from SHARCNET.
The Compute Ontario Colloquia are weekly Zoom presentations on Advanced Research Computing, High Performance Computing, Research Data Management, and Research Software topics, delivered by staff from three Compute Ontario consortia (CAC, SciNet, SHARCNET) and guest speakers. The colloquia are one hour long and include time for questions. No enrollment or registration is required. Most presentations are recorded and uploaded to the hosting consortium video channel.
This workshop will introduce neural network programming concepts, theory and techniques. The level of the material will be introductory, intended for those with no experience with neural networks. The programming language will be Python 3.8; experience with Python programming will be assumed. The Keras neural network framework will be used for more-advanced programming; no experience with Keras will be expected. Students should come with the following Python packages installed on their laptops: numpy, matplotlib, scikit-learn, tensorflow.
This week's colloquium: "Parallel Job Orchestration with GNU Parallel" by Ramses van Zon (SciNet). The Compute Ontario Colloquia are weekly Zoom presentations on Advanced Research Computing, High Performance Computing, Research Data Management, and Research Software topics, delivered by staff from three Compute Ontario consortia (CAC, SciNet, SHARCNET) and guest speakers. The colloquia are one hour long and include time for questions. No registration is required.
This six-week class will introduce neural network programming concepts, theory and techniques. The class material will begin at an introductory level, intended for those with no experience with neural networks, eventually covering intermediate-to-advanced concepts. The programming language will be Python 3.10; experience with Python programming will be assumed. The Keras neural network framework will be used for neural network programming; no experience with Keras will be expected. Lectures will be 11:00am - 12:00pm, Tuesday and Thursdays. There will be no lectures on May 30 and June 1.
Format: In-person, in the SciNet teaching room (661 University Ave., suite 1140A). All lectures will be recorded.
This week's colloquium: "CUDA, ROCm, oneAPI – All for One or One for All?" by Armin Sobhani (SHARCNET). The Compute Ontario Colloquia are weekly Zoom presentations on Advanced Research Computing, High Performance Computing, Research Data Management, and Research Software topics, delivered by staff from three Compute Ontario consortia (CAC, SciNet, SHARCNET) and guest speakers. The colloquia are one hour long and include time for questions. No registration is required.
This workshop explores various concise and useful constructs for working with bash shell. The goal is to improve your shell skills. Attending this class requires some basic GNU/Linux command line experience.
Format: In-person and On-line (zoom)
Location: SciNet Teaching Room, 11th floor on the MaRS West tower, 661 University Ave., Suite 1140, Toronto, ON M5G 1M1
Time: 1:00 pm - 4:00 pm EST
This week's colloquium: "File quotas and effective strategies to store large sets of small files" by Rakesh Raghavaraju (CAC). The Compute Ontario Colloquia are weekly Zoom presentations on Advanced Research Computing, High Performance Computing, Research Data Management, and Research Software topics, delivered by staff from three Compute Ontario consortia (CAC, SciNet, SHARCNET) and guest speakers. The colloquia are one hour long and include time for questions. No registration is required.
In about 90 minutes, learn how to use the SciNet systems Niagara and Mist, from securely logging in to running computations on the supercomputer. Experienced users may still pick up some valuable pointers.
Format: In-person, as well as broadcast and recorded.
This week's colloquium: "Multi-Factor Authentication" by Marco Saldarriaga from SciNet. The Compute Ontario Colloquia are weekly Zoom presentations on Advanced Research Computing, High Performance Computing, Research Data Management, and Research Software topics, delivered by staff from three Compute Ontario consortia (CAC, SciNet, SHARCNET) and guest speakers. The colloquia are one hour long and include time for questions. No registration is required.
Parallel programming in Python. We will cover subprocess, numexpr, multiprocessing, MPI, and other parallel-enabling python packages.
Format: In person, but also broadcast and recorded.
This week's colloquium: "Data Preparation" by Shadi Khalifa from CAC. The Compute Ontario Colloquia are weekly Zoom presentations on Advanced Research Computing, High Performance Computing, Research Data Management, and Research Software topics, delivered by staff from three Compute Ontario consortia (CAC, SciNet, SHARCNET) and guest speakers. The colloquia are one hour long and include time for questions. No registration is required.
In about 90 minutes, learn how to use the SciNet systems Niagara and Mist, from securely logging in to running computations on the supercomputer. Experienced users may still pick up some valuable pointers.
Format: online only
Learn how to write bash scripts, use environment variables, how to control process, and much more. Requires some linux basic command line experience.
Format: In-person, but will also be broadcast and recorded.
The Compute Ontario Colloquia are weekly Zoom presentations on Advanced Research Computing, High Performance Computing, Research Data Management, and Research Software topics, delivered by staff from three Compute Ontario consortia (CAC, SciNet, SHARCNET) and guest speakers. The colloquia are one hour long and include time for questions. No registration is required. Most presentations are recorded and uploaded to the hosting consortium video channel.
This week's colloquium: "Accelerated DataFrame with Dask-cuDF on multiple GPUs" by Jinhui Qin from SHARCNET.
The Compute Ontario Colloquia are weekly Zoom presentations on Advanced Research Computing, High Performance Computing, Research Data Management, and Research Software topics, delivered by staff from three Compute Ontario consortia (CAC, SciNet, SHARCNET) and guest speakers. The colloquia are one hour long and include time for questions. No registration is required. Most presentations are recorded and uploaded to the hosting consortium video channel.
An overview of GPUs and their use in supercomputers. This workshop will explain what GPUs are, and cover the basic ideas of GPU use in scientific computing. We will introduce several GPU programming frameworks, and demonstrate how to accelerate a solution of a science problem using a GPU. Python or C++ could be used for the assignment.
Format: In person, but also broadcast.

This week's colloquium: "Making Use of SIMD Vectorisation to Improve Code Performance" by James Willis from SciNet.
The Compute Ontario Colloquia are weekly Zoom presentations on Advanced Research Computing, High Performance Computing, Research Data Management, and Research Software topics, delivered by staff from three Compute Ontario consortia (CAC, SciNet, SHARCNET) and guest speakers. The colloquia are one hour long and include time for questions. No registration is required. Most presentations are recorded and uploaded to the hosting consortium video channel.
Windows Subsystem for Linux (WSL) is Microsoft's implementation of Linux container on Windows. WSL allows users to run various Linux distributions inside Windows and provides fully functional Linux environments for routine tasks. This course explores the usage of WSL and Docker Desktop on Windows.
Format: In-person
This week's colloquium: "An introduction to MPLAPACK, a multi-precision linear algebra library" by Ge Baolai from SHARCNET.
The Compute Ontario Colloquia are weekly Zoom presentations on Advanced Research Computing, High Performance Computing, Research Data Management, and Research Software topics, delivered by staff from three Compute Ontario consortia (CAC, SciNet, SHARCNET) and guest speakers. The colloquia are one hour long and include time for questions. No registration is required. Most presentations are recorded and uploaded to the hosting consortium video channel.
In about 90 minutes, learn how to use the SciNet systems Niagara and Mist, from securely logging in to running computations on the supercomputer. Experienced users may still pick up some valuable pointers.
Format: In person, as well as broadcast and recorded.
In this course students will be instructed in how to program in R. Ultimately students will learn how to use R to analyze, process and visualize data. This course is designed for students with little to no experience in programming.
This is a graduate course that can be taken for credit by UofT Biochemistry graduate students. Those students should enrol using ACORN/ROSI.
This week's colloquium: "File Management - Packing Small Files" by Ching-Hsing Yu from SciNet. The Compute Ontario Colloquia are weekly Zoom presentations on Advanced Research Computing, High Performance Computing, Research Data Management, and Research Software topics, delivered by staff from three Compute Ontario consortia (CAC, SciNet, SHARCNET) and guest speakers. The colloquia are one hour long and include time for questions. No registration is required.

This week's colloquium: "How Research Data Management (RDM) Intersects with ARC and Why Should I Care?" by Jeff Moon from Compute Ontario.
The Compute Ontario Colloquia are weekly Zoom presentations on Advanced Research Computing, High Performance Computing, Research Data Management, and Research Software topics, delivered by staff from three Compute Ontario consortia (CAC, SciNet, SHARCNET) and guest speakers. The colloquia are one hour long and include time for questions. No registration is required. Most presentations are recorded and uploaded to the hosting consortium video channel.

C++ is a high level programming language that is extremely useful for scientific applications. The language has historically had a bad reputation, but modern C++ is much improved so that your code can be relatively short and elegant. In this workshop we will teach the basics of C++ for people who are familiar with the basics of programming, and we will especially compare and contrast C++ with Python (only the material covered in SCMP142 "Intro to Programming with Python" is required). Knowing multiple programming languages may be a useful skill: while Python is a wonderful programming language, execution speed is often a practical issue for pure Python applications. For applications where this is an issue, coding in C++ can significantly improve performance. As C++ can relatively easily be integrated in a Python project, it is also possible (and common) to code just the bottleneck in that language.
Format: In-person, but also will be broadcast and recorded.

This week's colloquium: "A comparison of neural network frameworks" by Erik Spence from SciNet.
The Compute Ontario Colloquia are weekly Zoom presentations on Advanced Research Computing, High Performance Computing, Research Data Management, and Research Software topics, delivered by staff from three Compute Ontario consortia (CAC, SciNet, SHARCNET) and guest speakers. The colloquia are one hour long and include time for questions. No registration is required. Most presentations are recorded and uploaded to the hosting consortium video channel.
Working with many of the HPC systems (like those at SciNet) involves using the Linux/UNIX command line. This provides a very powerful interface, but it can be quite daunting for the uninitiated. In this half-day session, you can become initiated with this coursse which will cover basic commands. It could be a great boon for your productivity.
Format: In person, but also broadcast and recorded.
This week's colloquium: "Performance: current and upcoming systems" by Mark Hahn from SHARCNET.
The Compute Ontario Colloquia are weekly Zoom presentations on Advanced Research Computing, High Performance Computing, Research Data Management, and Research Software topics, delivered by staff from three Compute Ontario consortia (CAC, SciNet, SHARCNET) and guest speakers. The colloquia are one hour long and include time for questions. No enrollment or registration is required. Most presentations are recorded and uploaded to the hosting consortium video channel.
In about 90 minutes, learn how to use the SciNet systems Niagara and Mist, from securely logging in to running computations on the supercomputer. Experienced users may still pick up some valuable pointers.
Format: In-person as well as broadcast and recorded.
In this course data analysis techniques utilizing the Python and R languages will be introduced, as well as the basics of programming and scientific computing. The goal of this course is to prepare graduate students for performing scientific data analysis. Successful students will learn how to use statistical inference tools to gain insight into large and small data sets, as well as be exposed to cutting-edge techniques and best practises to store, manage and analyze (large) data. Topics include: Python and R programming, version control, automation, modular programming and scientific visualization.
Students willing to take the course as part of their graduate program must enrol through Acorn/ROSI.
This course is aimed at reducing your struggle in getting started with computational projects, and make you a more efficient computational scientist. Topics include well-established best practices for developing software as it applies to scientific computations, common numerical techniques and packages, and aspects of high performance computing. While we will introduce the C++ language, in one language or another, students should already have some programming experience. Despite the title, this course is suitable for many physical scientists (chemists, astronomers, ...).
This is a graduate course that can be taken for graduate credit by UofT PhD and MSc students. Students that wish to do so, should enrol using ACORN/ROSI.
In about 90 minutes, learn how to use the SciNet systems Niagara and Mist, from securely logging in to running computations on the supercomputer. Experienced users may still pick up some valuable pointers.
Format: In-person as well as broadcast and recorded.
Working with Advanced Research Computing and High Performance Computing systems involves using the Linux command line. This workshop will cover Linux commands to improve your productivity on the command line.
Format: In person, but also broadcast and recorded.
Managing large amounts of data can be a challenging task. Processing large numbers of files incur heavy overhead of IO communications. This course explores several options such as using Apptainer Overlay and SQLite to pack and reduce a large number of files to few files, and hence, improving IO performance. Python scripts are used throughout the course.
Format: On-line (Zoom).
Using version control for your scripts, codes, documents, papers, and even data, allows you to track changes, keep backups, and facilitate collaboration. In this workshop, you will learn the basics of version control with the popular distributed version control software GIT. This workshop assumes that students have an understanding of basic Linux shell commands.
Format: In-person, but also will be broadcast and recorded.
Learn the basics of Message Passing Interface (MPI) programming. Examples and exercises will be based on parallelization of common scientific computing problems.
Format: Online (Zoom)
Format: Online Zoom Meeting
Did you know the Linux operating system has built-in tools to control which specific users and groups can access which files and directories? In this session, you will learn what these Linux permissions are, how to use the available tools to control access and sharing, and how to avoid common security pitfalls.
In three sessions over the course of one week, we will cover different aspects of cybersecurity to help you enable your research! We will explore cybersecurity concepts, cyberattack models, as well as best practices to protect your research. We will talk about cryptography and apply the concept to a real life scenario via SSH keys. Finally, we will approach cybersecurity in the context of the Research Ethics Board. This session will be a mix of theory and practical exercises. We hope you will learn something new and, most importantly, enjoy the sessions!
The format is virtual, but for the second session there is the option to attend in person in the SciNet Boardroom to get in-person help with setting up ssh key authentication.