MDSPAN - A Deep Dive Spanning C++, Kokkos & SYCL
summary
MDSPAN is a non‑owning multidimensional array reference ported from Kokkos::View and now slated for C++23 after seven years and 17 revisions, with a companion owning MDARRAY aimed at C++26. It exposes extents, layout/mapping and accessor policies, uses deduction guides for ergonomics, and depends on the new multidimensional subscript syntax and the deprecation of comma inside [] The reference implementation exists in Kokkos and vendor libraries and SYCL adoption is underway.
AI-written summary · about
chapters (25)
- 0:00Introduction to MD Span
- 4:42Early Array View Proposals
- 7:34The Array Technical Spec
- 8:29Array Technical Spec Impasse
- 11:12Renewed Array View Efforts
- 11:51Urbana and Sandia Feedback
- 14:38Library Fundementals TS
- 15:46Kokkos View Influence
- 18:44Array View Evolutions
- 22:16Introduction of Span
- 23:55Polymorphic MD Array View
- 25:55Bikeshedding and Contracts
- 26:55Naming and Sign Debate
- 30:46Reference Implementation
- 32:36C++20 and Beyond
- 33:37Refining MD Span for C++23
- 37:05Class Template Deduction
- 39:13Final Standardization
- 43:32Post-Standardization State
- 45:22SYCL and MD Span
- 47:15SYCL Accessor Improvement
- 48:26Kokkos Refactoring and MD Array
- 49:59Designing MD Array
- 52:33Submdspan Development
- 53:43Conclusion and Q&A
related talks
56m“Towards Heterogeneous Programming in C++"
01h 07mHeterogeneous Modern C++ with SYCL
01h 32mHeterogeneous Programming in C++ today
37mC++ for multi-accelerator, multi-vendor systems
40mParallelizing the Standard Algorithms Library
13mDSP2JS - A C++ framework for the development of in-browser DSPs
24mOpen Acceleration for RISC-V – Portability, Performance and Partners...
48mBeyond struct: Meta-programming a struct Replacement in C++20
