Python for HPC

Monday, June 22, 2026 9:00 AM to 6:00 PM · 9 hr. (Europe/Berlin)
Hall X10 - 1st Floor
Tutorial
Compiler and Tools for Parallel ProgrammingParallel Programming LanguagesParallel Numerical Algorithms

Information

Python is powering breakthrough exascale scientific discoveries - come learn how to program the world's largest supercomputers with it! In this interactive tutorial you’ll learn how to write, debug, profile, and optimize high-performance, multi-node GPU applications in Python.

You'll learn and master:
- CuPy for drop-in GPU acceleration of NumPy workflows,
- Numba for writing custom kernels that match the performance of C++ and Fortran, and
- mpi4py for scaling across thousands of nodes.

Along the way we’ll learn how to profile our code, debug tricky kernels, and leverage foundational and domain-specific accelerated libraries.

Everything is hands-on: short and interactive lectures by expert instructors will be paired with guided Jupyter notebooks that introduce each concept and have you immediately apply it in bite-sized exercises (2D heat equation, SVD image compression, Mandelbrot, etc). The labs culminate in porting the miniWeather mini-app from serial Python to a hybrid MPI + GPU implementation. We'll use a web-based environment that requires no installs and setup - just a laptop and a browser.

Whether you’re a domain scientist seeking faster turnaround or a software engineer evaluating portable acceleration strategies, you’ll leave with a roadmap, skills, and code for bringing scalable Python practices back to your own HPC facility.
Format
on-site
Targeted Audience
Attend if you use Python for analysis or prototyping and want to scale onto GPU-accelerated, multi-node supercomputers, or if you’re an HPC practitioner fluent in MPI/GPU/C++/Fortran programming but new to modern Python acceleration stacks. Existing Python HPC users should also attend to learn best practices and performance optimization techniques.
Beginner Level
40%
Intermediate Level
60%
Prerequesites
Attendees should have a working knowledge of core Python syntax and some familiarity with NumPy array operations. No prior experience with GPUs, CUDA, or distributed computing is required, as these concepts are introduced from first principles during the hands-on sessions. This tutorial is very hands-on with many exercises that demonstrate common HPC patterns and allow attendees to transfer the techniques and tools they've learned to an actual HPC mini-app. The exercises will be conducted on a web-based Juptyer notebook environment that is connected to supercomputing resources under the hood. The attendees then edit, compile, run, debug and profile their solutions to the exercises online within their web browsers. This is a "one-click" environment that requires no local setup or configuration. Attendees who prefer to run the notebooks on their hardware or any HPC system from the commandline or JupyterHub can do so by following the steps in the GitHub repository that will contain all tutorial materials. Attendees need a laptop and a web browser that supports javascript web sockets (Firefox, Chrome, Safari, or Edge). A stable internet connection is needed, but for most portions of the tutorial, high bandwidth and low latency are not required, so WiFi should be fine. The exercises that use profiling tools use a web-based remote desktop that needs somewhat higher bandwidth and lower latency for the best experience.

Log in

See all the content and easy-to-use features by logging in or registering!