SIMD in C++20: EVE of a new Era
summary
EVE is a portable C++20 SIMD library that targets ARM neon and x86 (sse2…avx‑512) and claims concrete wins: benchmarks show vectorized find ~8 ns versus 72/128/240 ns (≈9×–32× speedup), inclusive scan ≈2–4× faster, and vectorized remove_if flattening runtimes to ~1k ns for bytes (up to ≈25× speedup versus scalar). It uses C++20 concepts, wide types, zip ranges, and a compress_store primitive, is MIT‑licensed, single‑threaded in measurements, and publishes demos/benchmarks (godbolt link) and source.
AI-written summary · about
chapters (14)
- 0:00Intro
- 1:00Performance
- 7:35EVE
- 13:50Classical wrapper
- 16:00C20 compliance
- 23:24Algorithms
- 24:42Basic algorithms
- 28:24Mismatch
- 30:24Interface to mismatch
- 33:16Zip
- 35:09Collect indices
- 36:42compressstore
- 41:59Algorithmic support
- 48:59Bugs
related talks
01h 03mCompute More in Less Time Using C++ Simd Wrapper Libraries
24mAdvanced SIMD Algorithms in Pictures
54mFast C++ by using SIMD Types with Generic Lambdas and Filters
43mUnlock the Power of Parallel Computing With SWAR (SIMD Within A Register)
01h 02mSqueezing the Hardware to Make Performance Juice
12mVectorCDC: Accelerating Data Deduplication with Vector Instructions
01h 00m“Want fast C++? Know your hardware!"
40mHow to make your electrons do more in Java
