Date: 29 - 31 January 2018

Description

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.

Prerequisites

Some experience in Python programming.

Agenda

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

 

Lecturers:   Jussi Enkovaara (CSC), Martti Louhivuori (CSC)

Language:  EnglishPrice:          Free of charge

https://events.prace-ri.eu/event/669/

Event types:

  • Workshops and courses


Activity log