Python for HPC Online Course


The course is fully booked, but registration for the waiting list is still possible. Please note that no confirmations will be sent. Register for the waiting list via VSC


Online Course: Python for HPC

31 August - 1 September 2022, 09:00 - 17:00 CEST

 

Course for research and academia, industry, public sector and other (general public)
Organised by VSC Research Center (TU Wien) in cooperation with EuroCC Austria
Language: English
Location: Zoom
Price: free


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 optimisations.

This course introduces participants 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)


31 August 2022 (Day 1)

08:45   Join online
09:00   Welcome
09:05   Advanced Python (Collections, OOP, FP)
10:00   Break
10:10   Tooling (Testing, Debugging, Documentation, Logging)
11:00   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:45   Development (Environment, Packages, IDEs, Containers)
16:10   Q & A
17:00   End
 

1 September 2022 (Day 2) 
 

08:45   Join online
09:00   Plotting with Matplotlib
09:50   Break
10:00   NumPy (Array creation & access, Array manipulation, Types, Broadcasting, Universal functions)
11:00   Break
11:10   SciPy (Overview, Subpackages, Examples)
11:55   MPI4Py

12:30   Lunch break

13:30   MPI4Py cont (practicals)
14:00   Pandas, Dask, cuDF
16:00   Q & A
17:00   End

 

Content (tentative)

Development

  • Package & environment management
  • Development environments
  • Containerization

Tooling

  • 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

 

Prerequisites

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.
 

Lecturers

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

Language

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 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.
 

Registration

Registration for the waiting list is still possible, but no confirmations will be sent.
Waiting list – Registration form

The course was postponed and therefore the original registration period was from 2 May 2022 to 26 June 2022, and follows the "first come – first served" principle. For the online course we can take a maximum of 40 persons. Additional registrations will be added to a waiting list.
 

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 show a link to download the Jupyter Notebooks in case you prefer to do the hands-on labs on your local system.
 

Please provide your feedback (at the end of the course) here:
https://events.prace-ri.eu/event/1272/surveys/981
 

Course organiser / contact:

Simeon Harrison and Claudia Blaas-Schenner
training-eurocc@vsc.ac.at

 


Back to training events