Heterogeneous Modern C++ with SYCL
summary
Slides claim SYCL 2020 adds ~40 features and aligns with C++17 while remaining backwards compatible, with unified shared memory and group/subgroup algorithms for reductions, class template argument deduction, simpler accessors, and expanded backend interoperability. Implementations like DPC++/ComputeCpp target CUDA, OpenCL, PTX, OpenMP, AMD, TBB and more; multiple features are implemented across vendors and run on real hardware (Perlmutter/Aurora work underway), and kernels may use fusion for performance.
AI-written summary · about
chapters (54)
- 0:00Introduction
- 1:20What is SYCL
- 1:55SYCL 2020
- 2:58Industry Momentum
- 4:02SYCL 2020 Overview
- 5:17SYCL 2020 Roadmap
- 6:29SYCL Ecosystem
- 10:37Safety
- 11:04HPC
- 12:00Moving with the Times
- 13:01Hello World Example
- 13:42Header File
- 15:11Device Selector
- 16:29Async Handler
- 17:19Memory Management
- 18:32Buffers
- 19:44Command Groups
- 21:30Parallel
- 22:10Parallel Parameters
- 22:45Lambdas
- 23:07Vector Add
- 23:26Wait Throw
- 23:45Errors
- 24:53Synchronization
- 25:14Backend Model
- 26:38Emulated Devices
- 27:39Multiple Backends
- 30:49Macros
- 31:15Memory
- 31:27Memory Models
- 32:04Kernels
- 32:26Private Memory
- 32:44Local Memory
- 33:11Global Memory
- 33:39Constant Memory
- 34:00Multipointer
- 34:31Virtual Address Space
- 34:52Device Allocations
- 36:36Copying Data
- 37:54Sickle Device Only
- 38:35C Object Model
- 39:01Device Copyable
- 39:41Atomic
- 40:29StringView
- 41:12AtomicRef
- 42:16Memory Order
- 43:15Operator Square Brackets
- 44:13MD Span
- 44:35Template Parameters
- 45:45Reduction Example
- 53:38Collective Operations
- 55:16Reduce Over Group
- 55:59Reduction API
- 57:42Michael Wong
related talks
01h 00mHeterogeneous Programming in C++ with SYCL 2020
41mSYCL building blocks for C++ libraries
56m“Towards Heterogeneous Programming in C++"
01h 32mHeterogeneous Programming in C++ today
01h 01mTake Advantage of All the MIPS - SYCL & C++
24mOpen Acceleration for RISC-V – Portability, Performance and Partners...
37mC++ for multi-accelerator, multi-vendor systems
18moneAPI with SYCL gives Software Portability including Nvidia
