~/lightning

Choosing the correct vectorization method

Lightningat Meeting C++ 2015 · 2015-12-04..12-05· [rust]
links:none on file
slides:none on file

Motion estimation uses block matching with the sum of absolute differences as the hot inner loop, implemented as triple nested loops. Benchmarks use GCC 4.9 and compare auto-vectorization, OpenMP 4.0 simd, ISPC/SilkPlus and low-level SSE/NEON intrinsics. Results show compiler auto-vectorizer gives modest gains, ISPC often beats it, and intrinsics deliver the biggest wins (up to roughly 8× on large blocks). Multi-core scaling is good to three cores and then saturates because threads share vector units.

AI-written summary · about

  1. 0:00Introduction to research
  2. 0:33Use case: motion estimation
  3. 2:00Naive vs auto-vectorization
  4. 4:01OpenMP vectorization
  5. 5:11Cilk plus array notation
  6. 6:10Hardware-specific intrinsics
  7. 7:23Performance benchmarks
  8. 9:17Conclusion and Q&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.