The Blaze High Performance Math Library
summary
Blaze claims measurable speedups versus common C++ libraries: microbenchmarks on a 10-core Haswell show 20–25% faster vector and cache-bound kernels, explicit AVX/FMA vectorization plus manual loop unrolling and non‑temporal stores, and a hybrid strategy that uses hand‑tuned small‑matrix kernels while falling back to MKL for large GEMMs. Parallelism uses OpenMP or C++11 thread pools with pinned threads, compressed sparse formats are supported, and expression templates perform expression restructuring to avoid expensive temporaries.
AI-written summary · about
chapters (17)
- 0:00Introduction
- 1:23CG Algorithm
- 2:00Place
- 4:43Another Math Library
- 5:15Benchmarks
- 6:24Benchmark Kernel
- 7:14Benchmark Libraries
- 9:04Vector Operations
- 14:36Parallelization
- 17:17Kernel Optimization
- 25:35Performance
- 29:12Matrix Multiplication
- 38:07Complex Expressions
- 43:42SubVectors
- 49:35Custom Operations
- 52:37Custom Error Reporting
- 56:25Questions
related talks
40mHidden GEMMs: How Optimized Math Libraries Work
44mIntel Math Kernel Library Perspectives & Latest Advances
24mBLAS-on-flash: An Efficient Alternative for Large Scale ML Training and Inference?
12mLightning Talk: Accelerating Inference on CPU with Torch.Compile
10mOptimize Openblas by RISC-V "V" Vector Extension
25mAI acceleration in POWER10
43mHigh Speed Query Execution with Accelerators and C++
29mNode.js Addons for High Performance Numeric Computing
