Python has gained tremendous popularity in scientific computing owing to the extensibility of the language, the rich ecosystem and being a convenient languages for scientists to develop and prototype codes productively. While using Python may offer many 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 is focused on some of the ways to optimise and parallel scientific Python codes, encompassing subjects such as performance analysis, efficient use of scientific libraries (e.g. NumPy), extending Python to use more efficient languages (e.g. Cython) to carry out multi-processing using threads and the Message Passing Interface (MPI) on HPC systems.
The 4-day course will cover the following topics:
Participation in the course is free of charge. Tea, coffee and light snacks will be provided during breaks. Lunch is NOT provided; there is a restaurant on-site as well as other eateries nearby.