High-Performance Computing with Python

Vacancies available


We regret to infom you that all seats for this course have already been taken. Video recordings will be avaialable after the event dates on the CSCS video portal.


The Swiss National Supercomputing Centre (CSCS) is pleased to announce the course High-Performance Computing with Python, which will be held online from June 23 to 25, 2021.

Course Description

Python is increasingly used in high-performance computing projects. It can be used as a high-level interface to existing HPC applications and libraries, as an embedded interpreter, or as main language for writing new software.

This is a new edition of the course originally developed by Dr. Jan Meinke and and Dr. Olav Zimmermann from JSC. The course combines lectures and hands-on sessions. We will show how Python can be used on parallel architectures and how to optimize critical parts of code using various tools.

Target Audience

This course addresses scientists with a working knowledge of NumPy who wish to explore the productivity gains made possible by Python for HPC.


The lessons will be held every day from 9:00 to 12:00 and from 13:00 to 16:00. Both morning and afternoon sessions will have a 15-minutes break.

Wednesday, June 23, 2021

09:00 - 12:00 Introductory topics

  • Introduction to Python for HPC
  • Vectorization with NumPy
  • Profiling Python code

  12:00 - 13:00 Lunch

13:00 - 16:00 Extending Python

  • Optimizing code with Cython
  • Language bindings: F2PY and CFFI


Thursday, June 24, 2021

  09:00 - 12:00 Just in time compilation and GPUs

  • Just in time compilation with Numba
  • Just in time compilation with Numba with GPUs
  • Running Numpy-like code on the GPU with CuPy
  • Other Python packages for GPUs

  12:00 - 13:00 Lunch

  13:00 - 16:00 Continuation

Friday, June 25, 2021

  09:00 - 12:00 Scaling Python to multiple nodes

  • Using Dask graphs and data structures to run in a cluster
  • Numpy at scale with legate.numpy
  • Parallelizing code in Jupyter with IPCMagic and MPI4Py


Dr. Rafael Sarmiento (Computational Scientist, CSCS)
Dr. Theofilos Manitaras (Computational Scientist, CSCS)

Participation Fee

Registration for this program is free-of-charge. Mentors and learning materials are offered by CSCS.


All participants must register for the course. Registered attendees will receive the ZOOM details for participation at the email provided on the registration form a few days prior to the workshop start. The link and password you will receive are unique to you and should not be shared with others.

Deadline for registration: Sunday, June 13, 2021.

Please note that the workshop can take place only if there are sufficient registrations received by the deadline. The minimum number of participants is eight. Registration for the course will automatically close when we reach the maximum number of participants (30).


Inquiries may be addressed to rafael.sarmiento@cscs.ch.