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.
The following topics will be covered:
- 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
This course is aimed at scientists who wish to explore the productivity gains made possible by Python for HPC.
Prerequisites: Good working knowledge of Python and NumPy
Application
Registrations are only considered until 15 May 2019 due to available space, the maximal number of participants is limited. Applicants will be notified, whether they are accepted for participitation.
Instructors: Dr. Jan Meinke, Dr. Olav Zimmermann, JSC
Contact
For any questions concerning the course please send an e-mail to j.meinke@fz-juelich.de