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

 
https://events.prace-ri.eu/event/1368/

Event types:

  • Workshops and courses


Activity log