![](https://training.computeontario.ca/courses/pluginfile.php/72089/course/overviewfiles/240px-Python-logo-notext.svg.png)
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.
Level: Intermediate
Length: Two 3-Hour Sessions
Format: Lecture + Hands-on
Prerequisite: Some Python and Linux command line experience.
- Teacher: Ramses van Zon
![](https://training.computeontario.ca/courses/pluginfile.php/72094/course/overviewfiles/cpp_logo.png)
Modern C++ is an efficient, versatile programming language. This workshop will focus on the following in both sequential and parallel contexts:
- using pseudo-random number generators,
- making use of reduction options using underlying sequential code,
- making simple use of in-situ code benchmarking/profiling, and,
- using mdspan for accessing multi-dimensional arrays and multi-dimensional array slices (submdspan).
By the end of these sessions, one will have learnt about sequential and parallel uses of:
- C++ pseudo-random number generators and their use,
- C++ std::reduce(), std::transform_reduce(), etc. and C++ parallel algorithms and some of their uses and caveats,
- using std::chrono facilities, e.g., for in-situ benchmarks, and,
- how to use multi-dimensional arrays and slices in C++ code.
Level: Intermediate
Length: Four 3-Hour Sessions (2 Days)
Format: Lecture + Hands-on
Prerequisites:
- Experience developing sequential code in C++.
- (The C++ programming language is not the C programming language. Experience is expected programming in C++, e.g., using the standard library's containers, iterators, and algorithms.)
- Teacher: Paul Preney
![](https://training.computeontario.ca/courses/pluginfile.php/72095/course/overviewfiles/computer.png)
During this workshop, we will learn about matplotlib which is a popular Python library that is great for 2D visualizations, and ParaView, a free and open-source visualization tool for creating 3D visualizations of your datasets. In this interactive workshop you will get familiar with how ParaView works and at the end you should be able to generate basic visualizations of the demo data.
Level: Introductory
Length: Two 3-Hour Sessions
Format: Lecture + Hands-on
Prerequisites: None
- Teacher: Jarno van der Kolk
![](https://training.computeontario.ca/courses/pluginfile.php/72099/course/overviewfiles/bioinfo_workshop_icon.png)
Bioinformatics, the interdisciplinary field at the intersection of biology and computational science, has revolutionized our understanding of life processes. In this one-day course, we will first tune your HPC knowledge/skills towards bioinformatics computing. Then a typical metagenomics pipeline will be explored to introduce common tools used in bioinformatic analysis and to show how they can be run in an HPC environment. Join us for an immersive day of hands-on exploration in the captivating world of bioinformatics and metagenomics!
Level: Introductory
Length: Two 3-Hour Sessions
Format: Lecture + Hands-on
Prerequisites:
- Alliance Account
- Basic understanding of biology and familiarity with Unix shells (e.g. bash, zsh, etc.).
- Teacher: Sridhar Ravichandran
- Teacher: Armin Sobhani