~/talk

Advanced SIMD Algorithms in Pictures

Talkat CppCon 2023 · on Thursday, 2023-10-05· at 15:15· Adams, 6700 North Gaylord Rockies Boulevard· [web-performance]
links:none on file
slides:none on file

Covers concrete implementations for memcmp copy_if and set_intersection using real SIMD tools (EVE library AVX2/AVX512 BMI2 and platform-specific masks). Demonstrates memcmp ~4× vs 8-bit loop with top-bit masks and ctz based first-true, shows copy_if ≈3–10× wins with compress-copy variants (table-lookup BMI2 shuffle and a scalar sparse loop), and gives set_intersection 2–20× depending on density and register width; benchmarks include x86 and Apple M1 and note when a method degrades.

AI-written summary · about

  1. 0:00Introduction
  2. 1:04Talk overview
  3. 2:26Compiler auto-vectorize mismatch
  4. 3:30SIMD registers and Eve library
  5. 5:43Mismatch under the hood
  6. 7:28First SIMD operation
  7. 9:40Standard SIMD vs Eve library
  8. 10:23SIMD copy_if
  9. 13:32Copy implementations trade-offs
  10. 15:20Benchmarking copy_if gains
  11. 16:48Compress limitations
  12. 17:09Set intersection basics
  13. 18:56SIMD set intersection
  14. 20:01has_equal in SIMD
  15. 21:08Benchmarking set intersection
  16. 22:52Acknowledgments
~/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.