|

Monday, 16 June 2025

|

Session 1 of 2: High Performance Computing in Python

Site event
DESCRIPTION: Learn how to improve the performance and use parallel programming in Python. We will cover profiling, subprocess, numexpr, multiprocessing, MPI, and other performance enhancing techniques.

TEACHER: Ramses van Zon (SciNet, University of Toronto)

LEVEL: Intermediate

FORMAT: Lecture + Hands-on

CERTIFICATES: Attendance and Completion

PREREQUISITES:

* Basic Linux command line skills.
* Programming experience in Python.

Session 1 of 2: Multicore Parallel Programming (OpenMP)

Site event
DESCRIPTION: This is an introduction to the intermediate level OpenMP hand-on course. OpenMP is a standard parallel programming API that supports multi-platform shared-memory multiprocessing programming in C, C++, and Fortran.

This one-day course will cover the principles of OpenMP compiler directives, library routines, and environment variables with step-by-step hand-on examples. Case studies include various approaches for loop parallelism. We will also talk about the Task constructs for irregular programs, and the Target constructs for accelerators such as GPU. Participants will have hand-on programming experience with OpenMP as well as how to compile and run Multi-thread OpenMP code on different alliance clusters.

TEACHER: Jemmy Hu (SHARCNET, University of Waterloo)

LEVEL: Introductory

FORMAT: Lecture + Hands-on

PREREQUISITES: Basic knowledge of C, C++, or Fortran.

Session 2 of 2: High Performance Computing in Python

Site event
DESCRIPTION: Learn how to improve the performance and use parallel programming in Python. We will cover profiling, subprocess, numexpr, multiprocessing, MPI, and other performance enhancing techniques.

TEACHER: Ramses van Zon (SciNet, University of Toronto)

LEVEL: Intermediate

FORMAT: Lecture + Hands-on

CERTIFICATES: Attendance and Completion

PREREQUISITES:

* Basic Linux command line skills.
* Programming experience in Python.

Session 2 of 2: Multicore Parallel Programming (OpenMP)

Site event
DESCRIPTION: This is an introduction to the intermediate level OpenMP hand-on course. OpenMP is a standard parallel programming API that supports multi-platform shared-memory multiprocessing programming in C, C++, and Fortran.

This one-day course will cover the principles of OpenMP compiler directives, library routines, and environment variables with step-by-step hand-on examples. Case studies include various approaches for loop parallelism. We will also talk about the Task constructs for irregular programs, and the Target constructs for accelerators such as GPU. Participants will have hand-on programming experience with OpenMP as well as how to compile and run Multi-thread OpenMP code on different alliance clusters.

TEACHER: Jemmy Hu (SHARCNET, University of Waterloo)

LEVEL: Introductory

FORMAT: Lecture + Hands-on

PREREQUISITES: Basic knowledge of C, C++, or Fortran.