Webinar 2017 High Performance Computing with Python
Python has numerous advantages over traditional compiled languages like C and Fortran, and is seeing increasing adoption among the scientific community. However, despite its advantages, there are challenges associated with using Python in a High Performance Computing (HPC) environment. First, a “vanilla” Python program is generally slower than an analogous compiled language program. Also, Python is relatively new to the HPC field, and many scientific programmers may not be aware of its parallel computing capabilities. This talk will discuss various strategies to make a serial Python code faster, for example using libraries like NumPy, or tools like Cython which compile Python code. The talk will also discuss the available tools for running Python in parallel, focusing on the mpi4py module which implements MPI (Message Passing Interface) in Python. Finally, various ways of computing on the GPU (Graphics Processing Unit) using Python will be discussed.