High-Performance Computing with Python
Python is increasingly used in high-performance computing projects. It can be used directly or as a high-level interface to existing HPC applications and libraries. This course combines lectures and hands-on sessions. We will show how Python can be used for simulation on parallel architectures and how to optimise critical parts of the code using various tools.
Praktische info:
Leertraject
Inschrijven?
- Voorwaarden: Good working knowledge of Python and NumPy
- Prijs: Free
A personal institutional email address (university/research institution, government agency, organisation, or company) is required to register for JSC training courses. If you don't have an institutional email address, please get in touch with the contact person for this course.
The following topics will be covered:
- Short review of vectorised programming with NumPy
- Interactive parallel programming with IPython
- Profiling and optimisation
- High-performance NumPy
- Just-in-time compilation with Numba
- Distributed-memory parallel programming with Python and MPI
- Bindings to other programming languages and HPC libraries
- Interfaces to GPUs
This course does not cover any AI frameworks nor high performance data analysis.