Compiler and Tools for Parallel ProgrammingParallel Programming LanguagesParallel Numerical Algorithms
Information
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
Intermediate Level
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.
Speakers

Bryce Adelstein Lelbach
Principal EngineerNVIDIA
Vassil Vassilev
Compiler EngineerCERN, Princeton
Andrea Zonca
Lead of Scientific Computing Applications GroupSan Diego Supercomputing Center
Aaron Jomy
Software EngineerCERN
Andy Terrel
CUDA Python Product LeadNVIDIAJR
Jonas Rembser
Scientific Software DeveloperCERN

