SciNet Training 2023/2024

September 1, 2023 in for_researchers, for_users, frontpage, news, newsletter, Training

The following training events will be offered by SciNet in 2023/2024. Most events take place online, others are in-person in our teaching room at the SciNet offices on the St. George Campus of the University of Toronto (https://www.scinethpc.ca/contact-us/). Many of the events are recorded and posted afterwards on the sites listed below.
All events listed below are free of charge. With a few exceptions, these training courses can be taken for SciNet certificate credits.

To register for these events, log into https://scinet.courses with your Alliance/CCDB account, go to “Home”, select the course, and click on “Enrol me in this course”.

A number of courses may still be added later for the Winter 2024 term.
For any questions, contact

INTRODUCTION TO NIAGARA AND MIST

  1. Wed Sep 13, 1:00 pm – 2:30 pm EDT | https://scinet.courses/1302
  2. Wed Oct 11, 1:00 pm – 2:30 pm EDT | https://scinet.courses/1306
  3. Wed Nov 8, 1:00 pm – 2:30 pm EST | https://scinet.courses/1311
  4. Wed Dec 13, 1:00 pm – 2:30 pm EST | https://scinet.courses/1315
  5. Wed Jan 10, 1:00 pm – 2:30 pm EST | https://scinet.courses/1316
  6. Wed Feb 14, 1:00 pm – 2:30 pm EST | https://scinet.courses/1319
  7. Wed Mar 13, 1:00 pm – 2:30 pm EDT | https://scinet.courses/1323
  8. Wed Apr 10, 1:00 pm – 2:30 pm EDT | https://scinet.courses/1326
  9. Wed May 8, 1:00 pm – 2:30 pm EDT | https://scinet.courses/1328
  10. Wed Jun 12, 1:00 pm – 2:30 pm EDT | https://scinet.courses/1331

This is a class of approximately 90 minutes to introduce SciNet and the Niagara and Mist supercomputers and teach you how to use them.

Format: Virtual

Counts towards the SciNet HPC Certificate.

INTRODUCTION TO COMPUTATIONAL BIOSTATISTICS WITH R

Tue and Thu, 9:00 am – 10:30 am ET starting Sep 12 | https://scinet.courses/1301

The goal of this course is to prepare graduate students to perform scientific data analysis using the R programming language. Successful students will learn how to use statistical inference and machine-learning tools to gain insight into data sets, as well as be introduced to techniques and best practises for storing, managing and analyzing data. Topics will include: R programming, version control, modular programming, coding best practices, data analysis, machine learning and scientific visualization. This is a UofT course restricted to graduate students, but could be audited upon request.

Format: In Person

Counts towards the SciNet Scientific Computing and Data Science Certificates

INTRODUCTION TO LINUX COMMAND LINE

  1. Mon Sep 18, 1:00 pm – 4:00 pm EDT | https://scinet.courses/1303
  2. Fri Dec 1, 1:00 pm – 4:00 pm EST | https://scinet.courses/1313
  3. Fri Feb 23, 1:00 pm – 4:00 pm EST | https://scinet.courses/1320

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

Counts towards the SciNet Scientific Computing Certificate

INTRODUCTION TO SUPERCOMPUTING

Sep 25, 27, 29, 12:30 pm – 2:00 pm EDT | https://scinet.courses/1304

An introduction to basic concepts in High-Performance Computing (HPC). This is intended to be a high-level primer for those largely new to HPC. Topic will include motivation for HPC, available HPC resources, essential issues, problem characteristics as they apply to parallelism and a high-level overview of parallel programming models.

Format: Virtual

Counts towards the SciNet High Performance Computing Certificate

INTRODUCTION TO PROGRAMMING WITH PYTHON

Tue and Thu from Oct 3 to Oct 26, 1:00 pm – 2:00 pm EDT | https://scinet.courses/1305

New to programming? Learn the basics of programming using python in eight one-hour sessions over the course of four weeks. Sessions will consist of a mix of lectures and hands-on exercises.

Format: In Person

Counts towards the SciNet Scientific Computing Certificate

INTRODUCTION TO APPTAINER

Mon Oct 16, 1:00 – 4:00 pm EDT | https://scinet.courses/1307

Container computing is gradually changing the way researchers are developing, sharing, and running software applications. Apptainer (formerly called Singularity) is gaining popularity in HPC for its performance, ease of use, portability, and security. In this course, we will explore: what is a container, why use a container, and how to use and create one.

Format: Virtual

Counts towards the SciNet Scientific Computing Certificate

FROM PYTHON TO C++

Oct 31 and Nov 2 and 4, 12:30 pm – 2:00 pm EDT | https://scinet.courses/1309

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: Virtual

Counts towards the SciNet Scientific Computing Certificate

LINUX SHELL SCRIPTING

  1. Mon Nov 6, 1:00 – 4:00 pm EDT | https://scinet.courses/1310
  2. Mon Apr 8, 1:00 – 4:00 pm EDT | https://scinet.courses/1325

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

Counts towards the SciNet Scientific Computing Certificate

GIT VERSION CONTROL

Mon Nov 20, 1:00 pm – 4:00 pm EST | https://scinet.courses/1312

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

Counts towards the SciNet Scientific Computing Certificate

INTRODUCTION TO MPI

Dec 4, 6, 8, 12:30 pm – 2:00 pm EST | https://scinet.courses/1314

Learn the basics of Message Passing Interface (MPI) programming. Examples and exercises will be based on parallelization of common scientific computing problems.

Format: Virtual

Counts towards the SciNet High Performance Computing Certificate

SCIENTIFIC COMPUTING FOR PHYSICISTS

Tue and Thu, 11:00 am – 12:00 pm ET, starting Jan 9 | https://scinet.courses/1296

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 UofT course restricted to graduate students, but could be audited online upon request.

Format: In Person

Counts towards the SciNet Scientific Computing and High Performance Certificates

EES1137 QUANTITATIVE APPLICATIONS FOR DATA ANALYSIS

Tue 10 am – 12 pm ET and Thu 11 am – 12 pm, starting Jan 9 | https://scinet.courses/1346

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. This is a UofT course restricted to graduate students, but could be audited online upon request.

Format: In Person

Counts towards the SciNet Scientific Computing and Data Science Certificates

FILE MANAGEMENT – PACKING SMALL FILES

Mon Jan 15, 1:00 pm – 4:00 pm EST | https://scinet.courses/1317

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

Counts towards the SciNet Data Science Certificate

PYTHON AND HIGH PERFORMANCE COMPUTING

Mon Jan 22, 1:00 pm – 4:00 pm EST | https://scinet.courses/1318

Parallel programming in Python. We will cover subprocess, numexpr, multiprocessing, MPI, and other parallel-enabling python packages.

Format: Virtual

Counts towards the SciNet High Performance Computing Certificate

INTRO TO GPU PROGRAMMING

Feb 26 and 28 and March 1, 12:30 pm – 2:00 pm EST | https://scinet.courses/1321

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

Counts towards the SciNet High Performance Computing Certificate

INTRO TO OPENMP

Mon Mar 4, 1:00 pm – 4:00 pm EST | https://scinet.courses/1322

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

Counts towards the SciNet High Performance Computing Certificate

PARALLEL DEBUGGING WITH DDT

Mon Mar 25, 1:00 pm – 4:00 pm EDT | https://scinet.courses/1324

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.

Format: Virtual

Counts towards the SciNet High Performance Computing Certificate

NEURAL NETWORK PROGRAMMING

Starting Tue Apr 23 onwards | https://scinet.courses/1327

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.

Format: TBA

Counts towards the SciNet Data Science Certificate

RELATIONAL DATABASE BASICS

Mon May 13, 1:00 pm – 4:00 pm EDT | https://scinet.courses/1329

Principles and uses of relational databases with practical examples using python and sqlite on the Niagara supercomputer.

Format: Virtual

Counts towards the SciNet Data Science Certificate

BASH COMMAND LINE WITH COMMON IDIOMS, AWK, AND OTHERS

Mon May 27, 1:00 pm – 2:30 pm EDT | https://scinet.courses/1330

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

Counts towards the SciNet Scientific Computing Certificate

INTRO TO QUANTUM COMPUTING

June 2024, dates TBD | https://scinet.courses/1332

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.

Format: In Person

Counts towards the SciNet Certificate

2024 COMPUTE ONTARIO SUMMER SCHOOL

June 2024, tentative, dated TDB | https://training.computeontario.ca

The Compute Ontario Summer School, jointly organized by SHARCNET, SciNet, Centre for Advanced Computing, and in collaboration with the RDM Network of Experts, offers a comprehensive curriculum packed with nearly 30 courses for researchers, students, and staff. These sessions are offered in two parallel streams which cover a wide range of topics including Advanced Research Computing (ARC), High Performance Computing (HPC), and Research Data Management (RDM) and are available at introductory to advanced levels. Whether you are interested in a specific topic or wish to explore multiple areas, you have the freedom to register for one, some, or all of the workshops available.

Format: Virtual