Rasmus Munk Larsen
93e9970964
Run clang-format on bench_small_matrix.cpp
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 15:28:20 -07:00
Rasmus Munk Larsen
8ddbe44799
Add small fixed-size matrix benchmarks for robotics/CV workloads
...
Benchmark the operations that dominate robotics and computer vision
inner loops: fixed-size matrix multiply, matrix-vector, inverse,
determinant, LLT, LDLT, PartialPivLU, ColPivHouseholderQR, JacobiSVD,
and SelfAdjointEigenSolver for sizes 2x2 through 8x9.
Key findings from the baseline measurements:
- MatMul/MatVec: excellent (<1ns for 3x3 float)
- Inverse 3x3: excellent (3.4ns)
- LLT 3x3→4x4: 8x jump (3.9→31.7ns float) due to inlining threshold
- ColPivQR 3x3: 166ns — expensive for such a small matrix
- JacobiSVD 3x3: 498ns double — the main CV bottleneck
- SelfAdjointEig: computeDirect() is 3.2x faster than iterative for 3x3
(71ns vs 230ns) — many users may not know this API exists
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 15:06:32 -07:00
Rasmus Munk Larsen
d31a73437f
Vectorize asinh and acosh for float and double
...
libeigen/eigen!2376
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-04-01 21:46:36 -07:00
Rasmus Munk Larsen
9513d3878e
Vectorize sinh, cosh, and log10
...
libeigen/eigen!2368
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-04-01 20:41:18 -07:00
Rasmus Munk Larsen
9fe2f03fa4
Revert "Lower BDCSVD crossover threshold from 16 to 8"
...
This reverts merge request !2358
2026-03-29 15:25:09 -07:00
Rasmus Munk Larsen
12fe90db8b
Lower BDCSVD crossover threshold from 16 to 8
...
libeigen/eigen!2358
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-03-29 14:33:22 -07:00
Rasmus Munk Larsen
cf508c096b
Add block Householder right-side application for HouseholderSequence
...
libeigen/eigen!2342
Closes #3057
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-03-27 19:56:08 -07:00
Rasmus Munk Larsen
9d1e5f3915
Remove benchmark::internal::Benchmark* from all benchmarks
...
libeigen/eigen!2332
Co-authored-by: Rasmus Munk Larsen <rlarsen@nvidia.com >
2026-03-20 17:42:07 -07:00
Rasmus Munk Larsen
8190c82cb4
Add missing SIMD math function benchmarks
...
libeigen/eigen!2284
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-03-11 23:20:11 -07:00
Rasmus Munk Larsen
8368a12f0f
Add runtime cache size detection for ARM and improve GEMM blocking
...
libeigen/eigen!2282
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-03-11 22:36:33 -07:00
Rasmus Munk Larsen
662d5c21ff
Optimize SYMV, SYR, SYR2, and TRMV product kernels
...
libeigen/eigen!2228
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-03-01 19:40:11 -08:00
Rasmus Munk Larsen
8525491eb1
Add dedicated unit tests and benchmark for ConditionEstimator
...
libeigen/eigen!2223
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-02-26 18:26:38 -08:00
Rasmus Munk Larsen
a95440de17
Remove obsolete bench/ and btl/ directories
...
libeigen/eigen!2217
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-02-25 20:19:45 -08:00
Rasmus Munk Larsen
a31de4778d
Blocked Jacobi SVD sweep with L2-cache-adaptive threshold
...
libeigen/eigen!2206
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
Co-authored-by: Rasmus Munk Larsen <rmlarsen@google.com >
2026-02-25 10:03:05 -08:00
Rasmus Munk Larsen
16da0279f1
Add benchmarks for unsupported modules and extend supported benchmarks
...
libeigen/eigen!2179
Closes #3036
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-02-24 17:12:33 -08:00
Rasmus Munk Larsen
1f49bf96cf
Add new benchmarks for Core, LU, and QR operations
...
libeigen/eigen!2177
Closes #3035
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-02-22 12:19:37 -08:00
Rasmus Munk Larsen
d4077a6e99
Reorganize benchmarks into subdirectories and clean up Eigen sources
...
libeigen/eigen!2176
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-02-21 17:46:55 -08:00
Rasmus Munk Larsen
374fe225bf
Reduce GEMV and TRSM benchmark sizes for faster routine runs
...
libeigen/eigen!2163
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-02-20 00:56:57 -08:00
Rasmus Munk Larsen
9c63d26dec
Remove reference to nonexistent spmv.cpp in benchmarks
...
libeigen/eigen!2157
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-02-19 04:22:35 -08:00
Rasmus Munk Larsen
552ca8f15f
Simplify GEBP micro-kernel and improve blocking heuristics
...
libeigen/eigen!2142
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-02-18 13:16:14 -08:00
Rasmus Munk Larsen
3108f6360e
Migrate Eigen benchmarks to the Google benchmark framework
...
libeigen/eigen!2132
Closes #3025
Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com >
2026-02-17 20:51:36 -08:00