Utilize your CPU power
summary
Shows concrete wins: turning a memory‑bandwidth problem into a flops‑bound one via cache tiling/clustering, then applying Boost.SIMD for vectorized math. Measured on Intel and AMD CPUs with the liquid framework counters, results show ~2.5× from cache-friendly blocking and up to ~3× total speedup (peaks reported ~13 GFLOP/s SIMD, ~4 GFLOP/s FPU on a 4 GHz laptop), ~200 lines of C++ with sources and slides linked — code exists and the optimizations demonstrably work.
AI-written summary · about
chapters (20)
- 0:00Introduction
- 3:21Optimizations
- 5:25Ordinary differential equations
- 9:34Timefirst and vectorfirst approaches
- 17:34Clustering in
- 24:09Optimal granularity
- 27:11Simdi instructions
- 29:53Boost SIMD library
- 33:11Expression templates
- 35:28Vector addition
- 38:22Transform
- 41:14Timefirst approach
- 43:00Cash optimization
- 45:44completeness
- 46:57summary
- 48:57takehome message
- 49:52questions
- 50:42how to use it
- 52:19how to measure bandwidth
- 53:24merging results
related talks
52mAdvanced SIMD Algorithms in Pictures
01h 08mAn implementer's view of Boost.SIMD
01h 01mWant fast C++? Know your hardware!
01h 09mComputer Architecture, C++, and High Performance
01h 00mJust-in-Time Compilation
01h 00mIntroduction to Hardware Efficiency in Cpp
01h 05mThe Most Important Optimizations to Apply in Your C++ Programs
42mFaster programs with your compilers autovectorization feature
