Compiler and Tools for Parallel ProgrammingParallel Programming LanguagesParallel Numerical Algorithms
Information
Format
on-site
Targeted Audience
You should attend if you are a researcher, student, developer, or practitioner interested in developing portable HPC applications with C++ to run them on heterogeneous systems.
Beginner Level
Intermediate Level
Prerequesites
The prerequisites for following the tutorial and hands-on exercises are beginner-level MPI and intermediate-level C++ knowledge. Experience with C++11 lambdas and C++98 standard library algorithms is helpful, but we cover both topics as part of the tutorial.
This tutorial is a very hands-on tutorial with multiple exercises following HPC motifs that allow attendees to transfer the techniques and tools demonstrated to an actual HPC mini-application. In all tutorials, we provide attendees with one-click access to heterogeneous systems via the web-browser. The attendees then edit, compile, run, debug and profile their solutions to the exercises online within their web browsers.
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
Damien Lebrun-Grandie
Senior Computational ScientistOak Ridge National Laboratory
Christian Trott
Distinguished Member of Technical StaffSandia National Laboratory
Andy Terrel
CUDA Python Product LeadNVIDIA
Philipp Zimmermann
Software DeveloperFraunhofer ITWM


