Python for HPC
Date: 2 - 6 May 2022
Speakers: Geert Jan BEX ([email protected];[email protected])
Although vanilla Python is fairly slow and hence not a good candidate for high-performance computing, there are several options to significantly increase the efficiency of Python programs. In this training, you will get a good overview.
Prerequisites
Good working knowledge of Python is expected. For one of the sessions, some knowledge of C/C++ or Fortran is useful.
Format
On each of the four days (Monday, Tuesday, Thursday, Friday) of the training, two sessions of two hours are scheduled for a total of 16 hours. The sessions will have a short coffee break. Hands-on exercises are provided.
Schedule
Day 1: easy gains
Morning
Welcome and introduction
Easy gains
Profiling
Afternoon
Numba on CPU
Numba on GPU
Day 2: mixing in other languages
Morning
Cython
Afternoon
Using C/C++ code from Python (ctypes/SWIG)
Using Fortran from Python
Day 3: shared memory and distributed programming
Morning
Using multiple threads/processes (multiprocessing/futures)
Distributed and out-of-core computing with Dask
Afternoon
MPI part 1
Day 4: distributed computing and GPUs
Morning
MPI part 2
PySpark
Afternoon
Using GPUs
Wrap up
Event types:
- Workshops and courses
Activity log