Debugging is an important step in developing a new code, or porting an old one to a new machine. In this session, we will discuss the debugging of frequently encountered bugs in serial code and debugging of parallel (MPI and threaded) codes using DDT.
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.
A full catalogue of past and present courses is available here. 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
Learn how to write bash scripts, use environment variables, how to control process, and much more. Requires some Linux basic command line experience.
Format: Virtual
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 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.
Classes will be held, April 23 - May 30, Tuesdays and Thursdays, 11:00am - 12:00pm.
Format: Virtual
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
Principles and uses of relational databases with practical examples using python and sqlite on the Niagara supercomputer.
Format: Virtual
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: Virtual
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.
This will be an in-person course. Dates and details TBD.
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
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
Learn the basics of shared memory programming with OpenMP. In particular, we will discuss the OpenMP execution and memory model, performance, reductions and load balancing.
Format: Virtual
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: Virtual
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 course which will cover basic commands. It could be a great boon for your productivity.
Format: Virtual
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 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: Virtual
This week's colloquium: "Research Data Management for Reproducibility" 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 enrollment or registration is required. Most presentations are recorded and uploaded to the hosting consortium video channel.
Parallel programming in Python. We will cover subprocess, numexpr, multiprocessing, MPI, and other parallel-enabling python packages.
Format: Virtual
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: Virtual
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
In this course students will be instructed in how to program in Python. Ultimately students will learn how to use Python 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 by UofT Biochemistry graduate students. Those students should enrol using ACORN/ROSI.
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.
This is an in-person course.
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 week's colloquium: "Block Internet Advertisements by Setting up Pi-Hole on an Older PCs or Laptop"
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.
Learn the basics of Message Passing Interface (MPI) programming. Examples and exercises will be based on parallelization of common scientific computing problems.
Format: Virtual
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: Virtual
This week's colloquium: "Web Scraping in Python" by Yohai Meiron 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 enrollment or registration is required. Most presentations are recorded and uploaded to the hosting consortium video channel.
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: Virtual
In about 60 to 90 minutes, you will learn how to use the SciNet systems. Experienced users may still pick up some valuable pointers.
Format: Virtual
This week's colloquium: "Reference-Counted Multidimensional Arrays for C++: Rarray" Ramses van Zon 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.