View on GitHub

Python for HPC

Repository for participants of the "Python for HPC" training

Although vanilla Python is fairly slow and hence not a good candidate, there are several options to significantly increase the efficiency of Python programs.

Learning outcomes

When you complete this training you will

Schedule

Total duration: 8 hours.

Subject Duration
introduction and motivation 5 min.
performance and profiling 45 min.
libraries 10 min.
Numba 60 min.
Cython 90 min.
interfacing with C/C++/Fortran 30 min.
multi-threaded programming 60 min.
MPI 45 min.
dask 45 min.
pyspark 45 min.
wrap up 15 min.

Training materials

Slides are available in the GitHub repository, as well as example code and hands-on material.

Software environment

Instructions on how to create the required software environment are available.

Target audience

This training is for you if you need to use Python for computationally intensive scientific computing.

Prerequisites

You will need experience programming in Python, using numpy, and have a passing familiarity with C/C++. This is not a training that starts from scratch.

If you plan to do Python programming in a Linux or HPC environment you should be familiar with these as well.

For following along hands-on, you need

Level

Trainer(s)