HPC Python Programming

Instructor: Ramses van Zon
University of Toronto, Canada
rzon@scinet.utoronto.ca
Python is a widely used language for scripting, pre- and post-processing of data for other compute jobs, and for data analysis. Although python is (rightly) not viewed as a high performance language, it nonetheless offers several ways to do parallel processing. This session will be a critical, hands-on exploration of several high performance and parallel programming techniques for python, including numexpr and numba.
Prerequisites:
- Familiarity with Python programming:
- Basics of Parallel Programming
- Optional: Basic Programming in C or Fortran
- code academy
- SciNet course on python for scientific computing, with slides, recordings and exercises (particular lessons 1 and 4 are useful as preparation for this session)
- See also the YouTube playlist of that course
Slides: https://www.hpc-training.org/moodle/pluginfile.php/13531/mod_page/content/40/hpcpy-handout.pdf?time=1688864655949
Ramses van Zon is an HPC Applications Analyst at SciNet HPC Consortium at the University of Toronto, where he helps researchers get the most out of their computational allocations and teaches on topics in high performance computing and advanced research computing. He obtained his Ph.D. in Theoretical Physics at Utrecht University, and has worked at the Rockefeller University in New York and at the Chemical Physics Theory Group of the University of Toronto. He has extensive experience with using parallel programming, advanced algorithms for molecular dynamics, and workflow analysis.
Last modified: Saturday, July 8, 2023, 8:04 PM