Projects and Collaboration Networks
Service Break
Projects and Collaboration Networks
Service Break


Python in High-Performance Computing
Date: 29.01.2018 9:00 - 31.01.2018 16:00
Location details: The event is organised at the CSC Training Facilities located in the premises of CSC at Keilaranta 14, Espoo, Finland. The best way to reach us is by public transportation; more detailed travel tips are available.
Language: English
Lecturers: Jussi Enkovaara (CSC) Martti Louhivuori (CSC)
  • Free for Finnish universities, polytechnics and governmental research institutes.
  • Free for others.
The course materials, lunches as well as morning and afternoon coffees are free of charge.

If you have registered to the course and you are not able to attend, please CANCEL your registration in advance by sending an email to patc at For a limited waiting list requests, please contact patc at Spaces that become available are on a first-come-first-serve basis.
Additional information
This course is part of the PRACE Advanced Training Centres (PATCs) activity. Please visit the PRACE Training portal for further information about the course. For content please contact, for practicalities


Python programming language has become popular in scientific computing due to many benefits it offers for fast code development. Unfortunately, the performance of pure Python programs is often sub-optimal, but fortunately this can be easily remedied. In this course we teach various ways to optimise and parallelise Python programs. Among the topics are performance analysis, efficient use of NumPy arrays, extending Python with more efficient languages (Cython), and parallel computing with task based (multiprocessing) and message passing (mpi4py) approaches.

Learning outcome

After the course participants are able to analyse performance of Python programs, and are familiar with various ways to optimise and parallelise them.


Some experience in Python programming.

Day 1, Monday 29.1

  • Efficient use of NumPy

  • Performance analysis

Day 2, Tuesday 30.1

  • Optimisation with Cython

  • Parallel computing with multiprocessing

Day 3, Wednesday 31.1

  • Parallel computing with mpi4py

Projects and Collaboration Networks
Service Break
Projects and Collaboration Networks
Service Break