CSC's trainings and events have moved

Find our upcoming trainings and events at www.csc.fi.

This site is an archive version and is no longer updated.
 

Go to CSC Customer trainings and Events
null python-hpc-2020
Python in High Performance Computing
Date: 27.01.2020 9:00 - 29.01.2020 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-language
lecturers: Jussi Enkovaara (CSC)
Martti Louhivuori (CSC)
Price:
  • free-price-finnish-academics.
  • free-price-others.
All materials, lunches as well as morning and afternoon coffees are free of charge.
THE COURSE IS FULLY BOOKED! If you have registered to this course and you are not able to attend, please cancel your registration in advance by sending an e-mail to patc@csc.fi

We have processed a LIMITED WAITING LIST. Please send your request to patc@csc.fi and we will keep those on the waiting list informed of whether participation will be possible. Please note that registration/wait list is at a first come, first served basis..
Additional Information
This course is part of the PRACE Training activity. Please visit the PRACE Training portal for further information about the course. For content please contact jussi.enkovaara@csc.fi, for practicalities patc@csc.fi

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  message passing (mpi4py) approach.

Learning outcome

After the course participants are able to

  • analyse performance of Python program and use NumPy more efficiently
  • optimize Python programs with Cython
  • utilize external libraries in Python programs
  • write simple parallel programs with Python

Prerequisites

Participants need some experience in Python programming, but expertise is not required. One should be familiar with

  • Python syntax
  • Basic builtin datastructures (lists, tuples, dictionaries)
  • Control structures (if-else, for, while)
  • Writing functions and modules

Some previous experience on NumPy will be useful, but not strictly required.

Program

Day 1

  • Efficient use of NumPy

  • Performance analysis

Day 2

  • Optimisation with Cython

  • Interfacing with external libraries

Day 3

  • Parallel computing with mpi4py

Course materials