Online course in Tech & Coding

Python in High Performance Computing

Learn how to analyse Python programmes and identify performance barriers to help you work more efficiently.

  • Duration 4 weeks
  • Weekly study 4 hours
  • Learn Free
  • Extra benefits From $84 Find out more

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.

Download video: standard or HD

Skip to 0 minutes and 11 secondsPython programming language is one of the most popular choices in many areas of software development. Python´s success is due to its many built-in features together with an extensive standard library and a large collection of third party libraries that can significantly improve the productivity of the programmer. However, the performance of pure Python programs is sometimes sub-optimal. In this course, we´ll teach you effective ways to improve performance of Python programs through optimisation and parallelisation. As an illustration we use a simple Python program which calculates the image of a Mandelbrot set, a complex fractal pattern. We’ll show how to analyse its performance bottlenecks, and then look at how to improve the performance of the serial program.

Skip to 1 minute and 2 secondsFinally, we’ll discuss parallel programming with Python and show how to further improve the performance of the program by using multiple CPU cores in parallel. Please join us and learn how to boost up the performance of Python programs!

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

When would you like to start?

Most FutureLearn courses run multiple times. Every run of a course has a set start date but you can join it and work through it after it starts. Find out more

  • Available now
    This course started 9 Sep 2019

What will you achieve?

By the end of the course, you'll be able to...

  • 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

Who is the course for?

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.

What software or tools do you need?

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).

Who will you learn with?

Martti Louhivuori

Martti Louhivuori

Expert on high-performance computing working at CSC.fi

Jussi Enkovaara

Jussi Enkovaara

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

Who developed the course?

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

Join this course

Start this course for free, upgrade for extra benefits, or buy Unlimited to access this course and hundreds of other short courses for a year.

Free
$0

Join free and you will get:

  • Access to this course for 6 weeks

Upgrade
$84

Upgrade this course and you will get:

  • Access to this course for as long as it’s on FutureLearn
  • A print and digital Certificate of Achievement once you’re eligible
New

Unlimited (New!)
$239 $179 for one year

Buy Unlimited and you will get:

  • Access to this course, and hundreds of other FutureLearn short courses and tests for a year
  • A printable digital Certificate of Achievement on all short courses once you’re eligible
  • The freedom to keep access to any course you've achieved a digital Certificate of Achievement on, for as long as the course exists on FutureLearn
  • The flexibility to complete your choice of short courses in your own time within the year
Find out more about upgrades or Unlimited.
Available until 31 October 2019. T&Cs apply.