Lightning Talk: How to Leverage SIMD Intrinsics for Massive Slowdowns
summary
Naively replacing an elementwise loop with AVX-512 intrinsics (load eight, add eight, store eight) can be 5× slower because the compiler’s auto-vectorizer emits a reordered, dependency-free instruction pipeline the hand-coded version lacks. Matching or exceeding compiler code requires manual unrolling and dependency elimination inside the intrinsics and careful scheduling; with enough painstaking work performance can sometimes recover and even reach up to 30× versus the naïve scalar baseline, but only after significant engineering effort.
AI-written summary · about
related talks
57mAdventures in SIMD-Thinking (part 1 of 2)
06mLightning Talk: Use SIMD Pairwise Reduction in C++!
01h 01mAdventures in SIMD-Thinking (part 2 of 2)
01h 03mCompute More in Less Time Using C++ Simd Wrapper Libraries
01h 04mDesign for Performance
01h 37mAn Overview of Program Optimization Techniques
01h 06m“Improving Performance Through Compiler Switches..."
01h 03mBuilding Abstractions at the Hardware-software Boundary
