Portable GPU Acceleration of HPC Applications with Standard C++23

Portable GPU Acceleration of HPC Applications with Standard C++23

Sunday, May 12, 2024 9:00 AM to 1:00 PM · 4 hr. (Europe/Berlin)
Hall Y7 - 2nd floor
Tutorial
Parallel Programming Languages

Information

In this tutorial, you’ll discover the portable parallelism and concurrency features of the ISO C++23 standard and learn to accelerate HPC applications on modern, heterogeneous GPU-based systems from all three main vendors (AMD, Intel, NVIDIA), without any non-standard extensions. We’ll show you how to parallelize classic HPC patterns like multi-dimensional loops and reductions, and how to solve common problems like overlapping MPI communication with GPU computation. The material is supplemented with numerous hands-on exercises and illustrative HPC mini-applications. All exercises will be done on cloud GPU-instances directly in your web-browser; no setup required. The tutorial synthesizes practical techniques acquired from our professional experience to show how the C++23 standard programming model applies to real-world HPC workloads, and which thoughts went into implementing and designing the programming model itself. You'll also receive links to additional resources and a preview of upcoming C++ features.
Contributors:
Format
On-site
Targeted Audience
The target audience is researchers, students, and practitioners interested in accelerating portable HPC applications with GPUs on heterogeneous HPC systems using standards-conforming ISO C++.
Beginner Level
40%
Intermediate Level
60%
Prerequisites
The prerequisites for following the tutorial and hands-on exercises are 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 a recap during the tutorial.