~/talk

std::simd: How to Express Inherent Parallelism Efficiently Via Data-parallel Types

slides:none on file

C++26 std::simd gets concrete: code-level API, benchmarks, and pitfalls. Replacing float with simd<float> on AVX‑512 rises from ~0.25 to ~64 flops/cycle — about 256× speedup in the example. Image processing examples show a naive simd rewrite can slow down but a redesign to vectorized pixels or array-of-struct vs struct-of-array yields real gains. Covers execution::simd vs unsequenced/autovec, masks, reductions, permutations and gather/scatter, shows working implementations and measured results plus portability caveats.

AI-written summary · about

  1. 0:00std::simd introduction
  2. 2:47SIMD and data parallelism
  3. 10:13std::simd class overview
  4. 23:18Naive SIMD performance limits
  5. 28:37Data parallelism models
  6. 35:03Non-matching SIMD sizes
  7. 39:08Data-parallel types
  8. 47:40Future of std::simd
  9. 51:54Q&A: Performance portability
  10. 55:04Q&A: Code maintenance
  11. 57:12Q&A: Fixed vs variable SIMD
  12. 1:00:03Q&A: Array of structs vs struct of arrays for SIMD
~/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.