C++ Performance Portability - A Decade of Lessons Learned
summary
Claims decade-long lessons from developing Kokkos: one-source C++ mapping to CUDA HIP SYCL OpenMP, used by ~900 developers across ~150–250 HPC projects and by >50% of DOE apps; practical tools include backend mappings, named allocations for profiling, resource handles and nested team parallelism; surprising numbers: GPUs need ~100k rows to reach peak and wrong layout can cost up to 20x; some migrated apps end up faster than hand-tuned vendor versions; standard work: mdspan integration and accessor-driven memory traits are already proving useful.
AI-written summary · about
chapters (6)
- 0:00Introduction and motivation
- 1:08Hardware and software challenges
- 15:13Core lessons in performance portability
- 36:03Kokkos ecosystem and C++ standards
- 56:04Final thoughts and lessons
- 57:44Q&A session
related talks
37mC++ for multi-accelerator, multi-vendor systems
01h 00mC++ on GPUs done right?
01h 03mThe Landscape of Parallelism
59mC++ on its way to exascale and beyond
01h 26mKhronos Sycl Language Framework for C++ Accelerators: Take Advantage of All the MIPS
01h 22mCostless Software Abstractions for Parallel Architectures
01h 07mAnother fundamental shift in Parallelism Paradigm?
01h 16mPaying for Lunch: C++ in the ManyCore Age
