~/talk

Adventures in SIMD-Thinking (part 1 of 2)

Talkat CppCon 2020 · 2020-09-14..09-18· [c-and-cpp]
links:none on file
slides:none on file

Builds a small C++ API around AVX-512 intrinsics (unaligned and masked loads/stores, permute/rotate/shift, fused multiply-add) and implements a compare-and-exchange sorting network that sorts 16 32-bit lanes using six phases (~24 intrinsics). Uses that to deliver a register-level median-of-7 filter (two medians per 512-bit register). Tests on Cascade Lake Xeon with GCC/Clang show the AVX version is correct and much faster: about 4× faster vs libstdc++ for sorted data and ~18× faster for random data with GCC (smaller but similar gains with Clang).

AI-written summary · about

  1. 0:00Introduction
  2. 2:50Fundamentals
  3. 5:45Register Operations
  4. 11:02Permutation
  5. 14:04Rotation and Shifting
  6. 17:26Register Shifting
  7. 20:04Math Functions
  8. 22:48Sorting Primitive
  9. 24:51Sorting Networks
  10. 28:41Median Filter
  11. 32:33Median Algorithm
  12. 39:20Median Sort
  13. 42:41Performance
  14. 49:21Q&A
~/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.