~/talk

Multidimensional C++

Talkat CppNorth 2022 · 2022-07-18..07-20· [c-and-cpp, data-engineering]
slides:none on file

C++23 introduces mdspan, a non-owning multi-dimensional view with parameterized layouts, extents and slicing, but it intentionally omits iterators because common iterator designs either force expensive index reconstructions or produce control flow that blocks compiler vectorization. Examples include a 3D stencil and tiled matrix transpose that work via explicit indexing or submdspan. Proposed fixes range from element-wise iterators and compiler recognizers to a new space-based for protocol that emits efficient nested loops while keeping composability and parallel/async algorithm support.

AI-written summary · about

  1. 0:00Introduction to multi-dimensional C++
  2. 1:07What is mdspan in C++23
  3. 10:02Layouts and custom accessors
  4. 13:17Using mdspan with existing types
  5. 21:45Parallel matrix transpose demo
  6. 25:38Standard library multi-dimensional algorithms
  7. 31:17Why no multi-dimensional iterators
  8. 49:08Future of multi-dimensional iteration
  9. 1:01:03Q&A session
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.