Date: 1 - 3 March 2017

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, Wednesday 1.3

Efficient use of NumPy


Performance analysis

Day 2, Thursday 2.3

Optimisation with Cython


Parallel computing with multiprocessing

Day 3, Friday 3.3

Parallel computing with mpi4py

 

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

Language:  EnglishPrice:          Free of charge

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

Event types:

  • Workshops and courses


Activity log