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 school.
Setting the scene (Jim Pivarski, Princeton University): benefits and disadvantages of the Python programming language and a brief outline how Python programs can be accelerated in general.
Efficient Python Programming (Vassil Vassilev, Princeton University): general approaches to accelerate Python code, using C++ in Python and accelerating array computations.
Accelerator Optimised Programming (Jonas Eschle, Syracuse University): how array computations can be run on GPUs with typical Deep Learning libraries, such as JAX or TensorFlow.
GPU Programming (Alessandro Scarabotto, TU Dortmund): 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 (Stefan Fröse, TU Dortmund I ErUM-Data-Hub)
Fee:
A fee of 300€ will be charged (includes Accomodation, Breakfast, Lunch & Dinner)
The school takes place in Aachen. We will book you a room (incl. breakfast) in the conference hotel (Mercure Hotel am Dom) - you do not need to book anything yourself. During the school we will provide lunch, coffee breaks and dinner.