Training and Education - New Course on 'Python in HPC' - May 2022
As a PRACE Training Centre, ICHEC will be organising an online course “Python in HPC”, over 3 afternoons on 11th, 12th, 13th May. It is aimed at Python programmers who wish to learn about ways to achieve better performance via optimisation and parallelisation on HPC systems. See below for a full course description. You can use the link below to register via the PRACE website.
Python has tremendous popularity in scientific computing owing to the language extensibility, rich ecosystem and convenience for scientists to develop and prototype codes productively. While using Python may offer many simpler ways to achieve the same result, finding the most efficient means to do so for better performance and scalability can be a challenge. This course focuses on ways to optimise and parallel scientific Python codes, encompassing subjects such as performance analysis, efficient use of scientific libraries (e.g. NumPy), using extended Python languages like Cython, interfacing with C-libraries and utilising multi-processing strategies like Message Passing Interface (MPI) on HPC systems. Additionally emerging technologies such as utilising Python with Dask and GPUs will be covered.
The course, split over 3 afternoons of 3 hours each, will cover the following topics:
- NumPy, Performance Analysis
- Single core optimisation with Cython
- JIT compilation with numba
- Interfacing with external C libraries
- Parallel computing using mpi4py
- Dask and GPUs
Participation in the course is free of charge for both academia and industry.
This course will be conducted remotely via Zoom (meeting details will be sent to registrants at the start of the course) with short in-class exercises. There will be additional longer exercises to try out between sessions. The course will be split over the following 3 afternoon sessions;
- Day 1: Wednesday 11th May 2022, 13:00-16:00 (GMT)
- Day 2: Thursday 12th May 2022, 13:00-16:00 (GMT)
- Day 3: Friday 13th May 2022, 13:00-16:00 (GMT)
You will be given a course account on ICHEC’s cluster, Kay, to access JupyterHub. Full details on login information, as well as creating ssh tunnels to JupyterHub will be provided a number of days before the course.
Each participant is expected to have a basic knowledge of Python, including:
- Basic syntax
- Data structures (lists, arrays, tuples, dictionaries)
- Control structures (if-else statements, for/while loops)
- Functions and modules
Some prior experience/knowledge of NumPy and array handling will be useful but not strictly required.
Contact Christopher Werner for more details.