High Performance Computing in Python
The high performance computing in Python (HPC) specialization course focuses on performance optimization of Python code.
We look into various ways to improve the performance of your Python code:
- using built in library functions in Numpy / Scipy instead of relying on loops
- single core optimization with libraries like Numba
- parallelization with different parallelization libraries like Dask
- Finding bottlenecks: Performance profiling
- Optimization of parallel code
The course is suited for people already familiar with Python and who are either already dealing with performance issues in their own codes or plan to develop a new code where maximum performance will be crucial. For beginners, this course can serve as an extension to the Python for scientists course or the Python for Biologists course.
The course is held in English and currently consists of 3 modules. Every module contains
- a 60-90 minute video lecture that participants can watch when it suits them
- exercises for the participants to apply what they have learned
- a live Zoom tutorial to answer questions (90-120min)
- single core performance optimization
- performance profiling
- Introduction into parallelization
- which parallelization library to use?
- practical parallelization examples
- multi core performance profiling, finding bottlenecks
- code optimization