Research Events

22. February 2023, 09:00 until 23. February 2023 17:00

Online Course - Python for HPC


During the past ten years, Python has seen a meteoric rise in both popularity and demand not only in general purpose programming but especially data science contributed to this trend. Despite Python's architectural shortcomings, even the field of High Performance Computing (HPC), with its highly specific demands, profited from recent developments with various libraries and optimizations.

This course introduces the interested participant to Python from an HPC viewpoint, the most practical tools, and various indispensable libraries for HPC use cases. After completion of this two-day course, participants are prepared to effectively develop their own Python libraries or integrate Python into existing projects.

Agenda (tentative):

1st day - Feb 22, 2023

08:45   Join online
09:00   Welcome & Motivation
09:20   Advanced Python (Collections, OOP, FP)
10:15   Break
10:25   Tooling (Testing, Debugging, Documentation, Logging)
11:05   Break
11:15   Plotting with Matplotlib
11:50   Performance (Timing, Profiling)
12:30   Lunch break
13:30   Bindings (CFFI, Boost.Python, f2py)
14:30   Break
14:40   Compiled Python (Cython, Numba)
15:40   Break
15:50   Development (Environment, Packages, IDEs, Containers)
16:10   Q & A
17:00   End

2nd day - Feb 23, 2023

08:45   Join online
09:00   NumPy (Array creation & access, Array manipulation, Types, Broadcasting, Universal functions)
10:00   Break
10:10   SciPy (Overview, Subpackages, Examples)
10:45   Break
10:55   MPI4Py
12:30   Lunch break
13:30   Pandas
14:30   Break
14:40   Dask/cuDF
16:00   Q & A
17:00   End

Content (tentative):


- Package & environment management
- Development environments
- Containerization


- Debugging & testing
- Timing & profiling
- Documentation, logging, and call graphs

Python bindings

- Binding to C and C++ with CFFI
- Binding to Fortran with f2py
- Compiled Python with Cython & Numba

Packages (HPC & data science)

- Pretty plots per matplotlib
- Fast array manipulation with NumPy
- Scientific computation with SciPy
- Distributed computing with MPI4Py
- Data science with Pandas & Dask & cuDF


The participants are expected to have at least basic programming skills in Python and the ability to use the Linux command line interface, for example bash.

Hands-on Labs:

All participants will get a temporary training user on the VSC for the course. You will use your own laptop or workstation to connect to VSC to do the hands-on exercises.

It is possible to do the hands-on labs on your local system, you'll need a local installation of Python 3 and the packages mentioned above.

Accepted participants will be contacted a few days before the course and asked to do a short PRE-ASSIGNMENT that has to be completed before the course starts.


David Fischak (External),
Simeon Harrison (EuroCC Austria and VSC Research Center, TU Wien), Katrin Muck (VSC Research Center, TU Wien)


Presentations will be in English, support during the hands-on sessions is available both in English or German.

Prices and Eligibility:

This course is offered free of charge via EuroCC Austria and it is open for participants from academia and industry from the Member States (MS) of the European Union (EU) and Associated/Other Countries to the Horizon 2020 programme.

Course Material:

Lectures and hands-on labs will be done directly on the VSC Jupyterhub and the Jupyter Notebooks will be visible after login with the trainee user provided. We'll explain how to access the VSC Jupyterhub in the morning of the first day and we will explain how to download and use the Jupyter Notebooks in case you prefer to do the hands-on labs on your local system.

Course material:, opens an external URL in a new window

Please provide your feedback (at the end of the course) here:, opens an external URL in a new window

Calendar entry

Event location

Wien, Online



VSC Research Center and EuroCC Austria
Simeon Harrison and Claudia Blaas-Schenner


More Information





Entrance fee



Registration required


Register here:, opens an external URL in a new window

Priority registration for those who were on the waiting list for the December 2022 edition of the course until 30 January – we contacted you on 18 Jan via email with instructions how to sign up for the February edition.

Please register with your official e-mail address to prove your affiliation.

Registration period is from 18 Jan to 13 Feb 2023, and follows the "first come – first served" principle.
Following your successful registration, you will receive further information approx. 1 week before the course.

For the online course we can take a maximum of 40 persons.

Additional registrations will be added to a waiting list.