~/talk

Designing C++ portable SIMD support

Talkat CppCon 2016 · 2016-09-18..09-23· [software-architecture]
slides:none on file

Library approach that exposes CPU SIMD across x86 Power and ARM via a value-type pack abstraction, explicit loads/stores, shuffle/topology recognition and segmented ranges for prologue/epilogue handling. Implementations map to intrinsics, provide scalar fallbacks, and decorate ops (restricted patterns, reductions). Benchmarks show real gains — typical 3x on SSE4 and up to 6.9x on AVX2 for selected kernels (exponentials, fractal), with generated code close to hand-tuned. Source, docs and tests are on GitHub as Boost.SIMD.

AI-written summary · about

  1. 0:00Introduction
  2. 1:00What is SIMD
  3. 5:58What is available
  4. 14:12Neon
  5. 16:32PC
  6. 19:14Intrinsic
  7. 20:51Pack
  8. 27:43Extensions
  9. 30:07Functions
  10. 31:53Shuffle
  11. 36:49Library
  12. 38:26Algorithm
  13. 39:44Implementation
  14. 41:18Specialization
  15. 42:48Backoverload
  16. 44:55Element Overload
  17. 45:52Chuffing
  18. 49:06Broadcast Identity
  19. 49:38Topology
  20. 51:58Reduce
  21. 53:16Random Shuffle
  22. 56:26Performance
  23. 57:51Fractal
  24. 58:16Code
~/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.