Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

FutureLearn

Python in High Performance Computing

Partnership for Advanced Computing in Europe via FutureLearn

This course may be unavailable.

Overview

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.

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.

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

Syllabus

  • Introduction and performance analysis
    • Welcome to the course
    • Performance challenges in Python
    • Performance analysis
    • Week 1 recap
  • Numerical computing
    • Using NumPy
    • Operating with NumPy arrays
    • NumPy tools
    • Deeper view into NumPy
    • Week 2 recap
  • Using compiled code and libraries
    • Using Cython
    • Interfacing with external libraries
    • Week 3 recap
  • Parallel programming
    • Introduction to parallel programming
    • Message passing with Python
    • Point-to-point communication
    • Collective communication
    • Week 4 recap
    • Course summary

Taught by

Jussi Enkovaara

Reviews

4.6 rating at FutureLearn based on 31 ratings

Start your review of Python in High Performance Computing

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.