Fast and Efficient Python Computing School

Mon, 02 Dec 2024 11:30:12 -0000

24 - 27 September 2024

This is a School organized by the ErUM-Data-Hub with support from DIG-UM.

In this school you will learn how Python code can be accelerated. A focus will be placed on numeric NumPy-like array computations. In addition, running these array computations on hardware accelerators, i.e., GPUs, will play a key role in this school.

The school is intended for young researchers - especially for PhD students - who regularly work with the scientific Python ecosystem. Requirements are good knowledge of the scientific Python ecosystem, basics of the C++ programming language are beneficial.

The school (see timetable) is split into five parts of which three are keynote lectures with hands-on tutorials. The other two comprise an opening talk and a coding group challenge for the participants.

A fee of 300€ will be charged for participation in the workshop.

## Topics:

* Setting the scene: benefits and disadvantages of the Python programming language and a brief outline how Python programs can be accelerated in general.
* Efficient Python Programming: general approaches to accelerate Python code, using C++ in Python and accelerating array computations.
* Accelerator Optimised Programming: how array computations can be run on GPUs with typical Deep Learning libraries, such as JAX or TensorFlow.
* GPU Programming: understanding the hardware layout, i.e., thread and memory layout and hierarchy and basics of the CUDA toolkit. A focus is set on how to program custom GPU kernels for, e.g., Deep Learning applications (in JAX or TensorFlow).
* Group Challenge