Start: Tuesday, 24 September 2024 @ 09:30
End: Friday, 27 September 2024 @ 18:00
Description: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
- Workshops and courses
Keywords: Python, GPU, Accelerator Optimised Programming