High-performance computing with Python

High-performance computing with Python

PRACE training course on High-performance computing with Python

Details

General Information

Python is increasingly used in high-performance computing projects. It can be used either as a high-level interface to existing HPC applications and libraries, as embedded interpreter, or directly.

This course combines lectures and hands-on sessions. We will show how Python can be used on parallel architectures and how to optimize critical parts of the kernel using various tools.

Topics

– Interactive parallel programming with IPython

– Profiling and optimization 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

 

Prerequisites

Good working knowledge of Python and NumPy