Video: High-Performance Computing with Python – Reducing Bottlenecks

Print Friendly, PDF & Email

In this video, Jan Meinke and Olav Zimmermann from the Jülich Supercomputing Centre present: High-Performance Computing with Python: Reducing Bottlenecks. This course addresses scientists with a working knowledge of NumPy who wish to explore the productivity gains made possible by Python for HPC.

Python is increasingly used in high-performance computing projects. It can be used either as a high-level interface to existing HPC applications and libraries, as embedded interpreter, or directly. This course combines lectures and hands-on sessions. We will show how Python can be used on parallel architectures and how to optimize critical parts of the kernel using various tools. The following topics will be covered: – Interactive parallel programming with IPython – Profiling and optimization – High-performance NumPy – Just-in-time compilation with Numba – Distributed-memory parallel programming with Python and MPI – Bindings to other programming languages and HPC libraries – Interfaces to GPUs.

Jan H. Meinke is a staff scientist at the Jülich Supercomputing Centre (JSC) and a member of the Simulation Laboratory Biology. He received his PhD in Physics in 2002 from Michigan State University and has been working at Forschungszentrum Jülich since 2005. His research interests include protein folding and finding ways to make efficient use of HPC hardware for solving scientific problems. He has been teaching Scientific Python courses since 2011.

Olav Zimmermann is a staff scientist at the Jülich Supercomputing Centre (JSC) and head of the Simulation Laboratory Biology. He received a diploma in experimental molecular genetics and a Ph.D. on a topic in structural bioinformatics from the University of Cologne and was a co-founder and director of the bioinformatics start-up Science Factory. Since 2005 he is at Forschungszentrum Jülich and has been teaching Scientific Python courses since 2011. Olav’s main interests are synergies between machine learning and physics-based simulations, efficient analysis algorithms for biological data, and synthetic biology.

See more videos from the High Performance Computing with Python course