Parallel Programming with Python
11 Jan 2022
13 Jan 2022
Python is one of most widely used languages to do scientific data analysis, visualization, and even modelling and simulation. The popularity of Python is mainly due to the two pillars of a friendly syntax, together with the availability of many high-quality libraries. However, the flexibility that Python offers comes with a few downsides: code typically doesn’t perform as fast as lower-level implementations in C/C++ or Fortran, and it is not trivial to parallelize Python code to work efficiently on many-core architectures. This workshop addresses both these issues, with an emphasis on being able to run Python code efficiently (in parallel) on multiple cores.
We’ll start with learning to recognize problems that are suitable for parallel processing by looking at dependency diagrams and kitchen recipes. From then on, the workshop is highly interactive, diving straight into the first parallel programs. Participants will be coding along with the instructor in the style of teaching like Software Carpentry. This workshop teaches the principles of parallel programming in Python using Dask, Numba and Snakemake. More importantly, we aim to give insight into how these different methods perform and when they should be used.
More information can be found on the workshop website.
Tickets for this workshop are sold out.