#IT-03-27 Python in High Performance Computing

  • Categories IT
  • Duration 11h
  • Total Enrolled 4
  • Last Update November 2, 2020

About Course

Partnership for Advanced Computing in Europe (PRACE)


Speed up Python programs using optimisation and parallelisation techniques

The Python programming language is popular in scientific computing because of the benefits it offers for fast code development. The performance of pure Python programs is often suboptimal, but there are ways to make them faster and more efficient.

On this course, you’ll find out how to identify performance bottlenecks, perform numerical computations efficiently, and extend Python with compiled code. You’ll learn various ways to optimise and parallelise Python programs, particularly in the context of scientific and high performance computing.

What topics will you cover?

  • Performance challenges of Python programming language
  • Performance analysis of Python programs
  • Efficient numerical calculations with NumPy
  • Using compiled code with Python
  • Interfacing Python to libraries written in other programming languages
  • Parallel programming with Python

Who will you learn with?

Martti Louhivuori

Expert on high-performance computing working at CSC.fi




Jussi Enkovaara

Senior application scientist at the Finnish national supercomputing center CSC – IT Center for Science.



Who developed the course?

Partnership for Advanced Computing in Europe (PRACE)

The Partnership for Advanced Computing in Europe (PRACE) is an international non-profit association with its seat in Brussels.

What Will I Learn?

  • Improve performance of Python programs
  • Apply parallelisation techniques using Python
  • Calculate numerical expressions efficiently in Python
  • Identify performance bottlenecks in Python programs
  • Develop higher performance extensions to Python

Topics for this course

13 Lessons11h

Welcome to the course?

We discuss the prerequisities and structure of the course, as well as setup the programming environment for the course
Welcome to Python in High Performance Computing00:01:37
Prerequisities and structure of the course
Setting up the programming environment

Performance challenges in Python?

In this activity we discuss what are the main reasons that Python programs can be slow.

Performance analysis?

We discuss some general principles in performance analysis and introduce some Python specific tools for investigating program performance.

Student Feedback


Total 4 Ratings

3 ratings
1 rating
0 rating
0 rating
0 rating

It was a good course for me to learn how to identify performance bottlenecks, perform numerical calculations efficiently, and extend Python with compiled code.

Jussi Enkovaara is so interesting, I am deeply in love with this lecturer, the course is very interesting.

In this course I learned various ways to optimize and parallel Python programs, especially in the context of science and high performance computing. Very good course. I suggest you take a look at it if you're learning programming.

The Python programming language is popular in scientific computing, and I've always wanted to learn, well, the wired programming courses on this platform.


Material Includes

  • Official Certificate


  • The software needed is in the virtual machine that you will need to download and run to complete this course. You will also need a local machine with 15GB free disk space and 2GB RAM.
  • Optionally, you can receive instructions to install the Python environment utilised in the course (Python, Numpy, Cython, mpi4py).

Target Audience

  • The course is designed for Python programmers who want to speed up their codes. You should be familiar with the basics of the Python programming language.