~/talk

Adventures in SIMD-Thinking (part 2 of 2)

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

Implements small-kernel convolution and UTF-8→UTF-32 conversion using Intel intrinsics (SSE, AVX, AVX2, AVX-512), broadcasting kernel coefficients into registers and using a fused multiply-add loop with a shift-up-with-carry register trick so odd kernel sizes 3–15 fit in a 16-lane register; benchmarks vs Intel MKL on 1k–10M elements show up to ~12–15× speedup (kernel 15 ≈8× in one run). UTF conversion uses a DFA plus an ASCII fast path with move mask/unpack shuffles; AVX2 helps on Clang/MSVC but GCC shows little or mixed benefit.

AI-written summary · about

  1. 0:00Introduction
  2. 1:15Fast small kernel convolution
  3. 21:04UTF-8 to UTF-32 conversion
  4. 55:08Q&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.