C++17 ParallelSTL: A Standardization Experience Report for CPU and GPU on SYCL
summary
Report describes a working ParallelSTL implementation that runs standard execution policies on CPUs and on GPUs via SYCL execution policy, with source on the KhronosGroup GitHub. It documents standard changes (renamed par_unseq, removed dynamic policies, moved exception behavior to policies, allowed argument cloning for heterogeneous devices) and shows a sort demo where small inputs hurt but large inputs show about 4–5× speedup on GPU; data-transfer overhead and iterator requirements remain the main constraints.
AI-written summary · about
chapters (8)
- 0:00Introduction and overview
- 2:29History and standardization process
- 10:06Technical changes in ParallelSTL
- 21:26ParallelSTL execution policies explained
- 29:56GPU acceleration with SYCL
- 30:17SYCL overview and demo
- 47:55Future directions for C++
- 54:46Q&A session
related talks
01h 33mGPU programming with modern C++
57mC++ Standard Parallelism
58mC++ Standard Parallelism
57m“The C++17 Parallel Algorithms Library and Beyond"
01h 01mA Modern C++ Programming Model for GPUs using Khronos SYCL
28mA Smooth Introduction to SYCL for C++20 Afficionados
41mSYCL building blocks for C++ libraries
01h 32mHeterogeneous Programming in C++ today
