Video: High Performance Computing with Python

Print Friendly, PDF & Email

sharcnetIn this video, Pawel Pomorski from SHARCNET presents: High Performance Computing with Python.

Python has numerous advantages over traditional compiled languages like C and Fortran, and it 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.

SHARCNET is a consortium of 18 Canadian academic institutions who share a network of high performance computers. They recently started up the SHARCNET YouTube Channel featuring biweekly webinars on HPC topics.

Download the Slides (PDF) * Sign up for our insideHPC Newsletter

Comments

  1. The assumption that NumPy is equivalent to “unoptimized C” is wrong.
    Numpy uses BLAS. BLAS is often implemented as extremely well-tuned assembler code. I’d throw in another assumption that Python is causing the overhead.

    For really large problems they should be equivalent unless NumPy Fails to optimize inline and/or introduces temporary arrays.