Commit Graph

13065 Commits

Author SHA1 Message Date
Rasmus Munk Larsen
dd81698aed Fix vectorization_logic test for wide SIMD widths
libeigen/eigen!2266

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-03-08 12:11:33 -07:00
Rasmus Munk Larsen
ab58784268 Remove random retry loops in tests (batch 5: geometry, mixing types, triangular)
libeigen/eigen!2264

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-03-08 11:51:35 -07:00
Rasmus Munk Larsen
411422f2dc Remove random retry loop in SVD min-norm test
libeigen/eigen!2263

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-03-08 11:20:27 -07:00
Rasmus Munk Larsen
7c3a344763 Remove random retry loops in tests (batch 2: indices and integer types)
libeigen/eigen!2261

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-03-08 11:02:45 -07:00
Rasmus Munk Larsen
be7538ed65 Remove random retry loops in tests (batch 1: simple scalar cases)
libeigen/eigen!2260

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-03-08 10:44:57 -07:00
Rasmus Munk Larsen
5790d716c3 Simplify and optimize pow/cbrt special case handling
libeigen/eigen!2259

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-03-08 10:19:51 -07:00
Rasmus Munk Larsen
3041ab44af Fix GEBP asm register constraints for custom scalar types
libeigen/eigen!2258

Closes #3059

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-03-07 07:49:27 -08:00
Antonio Sánchez
20fce70e5a Fix another complex div edge case.
libeigen/eigen!2257
2026-03-06 13:37:26 -08:00
Antonio Sánchez
5bacb5be9a Fix null pointer dereference in Sparse-Dense products for Sparse vectors.
libeigen/eigen!2256
2026-03-06 10:50:28 -08:00
Tyler Veness
d8c8ee6fb2 Fix crash on construction of SparseMatrix with zero-length diagonal
libeigen/eigen!2249
2026-03-06 01:43:21 +00:00
Rasmus Munk Larsen
265496e862 Fix heap overflow in BM_BatchContraction benchmark
libeigen/eigen!2251

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-03-04 21:01:34 -08:00
Rasmus Munk Larsen
eea4d31f58 Simplify and modernize XprHelper.h
libeigen/eigen!2243

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-03-04 10:33:05 -08:00
Rasmus Munk Larsen
dd826edb42 Replace typedef with using in tensor contraction files
libeigen/eigen!2247

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-03-04 08:59:22 -08:00
Antonio Sánchez
abc3d6014d Fix CUDA+Clang build warnings.
libeigen/eigen!2241
2026-03-04 01:41:01 -08:00
Rasmus Munk Larsen
0269c017aa Revise Tensor module README.md: fix bugs, add missing docs
libeigen/eigen!2240

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-03-03 23:44:49 -08:00
Charles Schlosser
ca94be70da fix uninitialized variable in constexpr function
libeigen/eigen!2236
2026-03-03 21:01:40 -08:00
Rasmus Munk Larsen
b0ebf966a5 Fix default rank-detection threshold in QR and LU decompositions
libeigen/eigen!2232

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-03-03 18:44:22 -08:00
Antonio Sánchez
d36a7db7b5 Fix Eigen::array constructors.
libeigen/eigen!2235
2026-03-03 22:15:47 +00:00
Antonio Sánchez
661cdb227f Fix relative paths after move.
libeigen/eigen!2234
2026-03-02 19:50:30 +00:00
Rasmus Munk Larsen
57b1de2330 Fix row-major GEMV dropping rows when n8 heuristic disables main loop
libeigen/eigen!2233

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-03-01 23:47:35 -08: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
c66fc52868 Add ULP accuracy measurement tool and documentation for vectorized math functions
libeigen/eigen!2153

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-03-01 13:22:16 -08:00
Rasmus Munk Larsen
c20b6f5c41 Restore EIGEN_EMPTY_STRUCT_CTOR as a no-op macro for backward compatibility
libeigen/eigen!2231

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-03-01 11:44:38 -08:00
Rasmus Munk Larsen
77d9173596 Add ca-certificates to clang-tidy CI job
libeigen/eigen!2230

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-28 09:12:13 -08:00
Rasmus Munk Larsen
444ae9761d Clamp igamma/igammac output to [0,1] for numerical stability
libeigen/eigen!2229

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-28 08:52:44 -08:00
Rasmus Munk Larsen
eddb470a09 Fix flaky array_cwise and sparse_basic tests
libeigen/eigen!2227

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-27 21:52:46 -08:00
Antonio Sánchez
25dba492e3 Use stack-constructed variable for SVD block sweep.
libeigen/eigen!2225
2026-02-28 05:04:41 +00:00
Rasmus Munk Larsen
f64d1e0acc Improve ConditionEstimator docs and tighten test bounds
libeigen/eigen!2226

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-26 22:08:13 -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
Antonio Sánchez
e730b1fe33 Fix mixed products GEMM.
libeigen/eigen!2224
2026-02-26 15:47:39 -08:00
Rasmus Munk Larsen
3adfa9bd37 Add const to non-mutating member functions across remaining modules
libeigen/eigen!2222

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-26 13:58:04 -08:00
Rasmus Munk Larsen
13b61529f4 Add const to non-mutating member functions in products/ and Serializer
libeigen/eigen!2221

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-26 12:35:44 -08:00
Rasmus Munk Larsen
aaca9e5856 Add missing const qualifiers in Eigen/src/Core/
libeigen/eigen!2220

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-26 11:23:53 -08:00
Rasmus Munk Larsen
1b1b7e347d Fix EIGEN_NO_AUTOMATIC_RESIZING not resizing empty destinations
libeigen/eigen!2219

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-26 07:54:27 -08:00
Rasmus Munk Larsen
064d686c57 Remove CXX11/ directory nesting for Tensor modules
libeigen/eigen!2199

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-26 07:03:38 -08:00
Rasmus Munk Larsen
11eb66e1b5 Remove pre-C++14 workarounds from unsupported/ tensor code
libeigen/eigen!2218

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-26 06:17:39 -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
6e2aff6b5d Fix ambiguous static_cast in JacobiSVD blocking threshold
libeigen/eigen!2215

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-25 19:48:20 -08:00
Rasmus Munk Larsen
d8ed4f6884 Fix GEBP half/quarter-packet loops for nr>=8 RHS packing on ARM64
libeigen/eigen!2216

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-25 19:26:49 -08:00
Rasmus Munk Larsen
6b6d0d8c8e Revert "Fix ambiguous static_cast in JacobiSVD blocking threshold computation"
This reverts commit e567151ce3.
2026-02-25 19:08:21 -08:00
Rasmus Munk Larsen
ba2fc4e775 Revert "Fix GEBP half/quarter-packet loops for nr>=8 RHS packing on ARM64"
This reverts commit 888d708dcd.
2026-02-25 19:08:21 -08:00
Rasmus Munk Larsen
888d708dcd Fix GEBP half/quarter-packet loops for nr>=8 RHS packing on ARM64
On ARM64 (and LoongArch64), the GEBP kernel uses nr=8, so the RHS is
packed in 8-column blocks. The half-packet and quarter-packet row
processing loops were iterating columns 4 at a time starting from j2=0,
misindexing into the 8-column packed RHS buffer. This produced
completely wrong results for float GEMM when the number of rows was
smaller than the SIMD packet size (e.g. 2x10 * 10x8 float).

Add the missing nr>=8 column iteration blocks to both loops, matching
the pattern already present in the 3x, 2x, 1x, and scalar remainder
sections.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-02-25 19:03:11 -08:00
Rasmus Munk Larsen
e567151ce3 Fix ambiguous static_cast in JacobiSVD blocking threshold computation
The L2 cache size threshold computation used numext::sqrt with a
static_cast<RealScalar>, which fails to compile when RealScalar is
AnnoyingScalar (a test-only type with multiple conversion constructors).
Since this is a pure cache-size computation unrelated to the matrix
scalar type, use std::sqrt(double) instead.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-02-25 19:03:01 -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
647e0009ba Refactor BDCSVD D&C code to reduce compilation time and memory footprint
libeigen/eigen!2211

Closes #3048

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-25 09:11:38 -08:00
Rasmus Munk Larsen
4fab38d798 Make clang generic vector backend support 16, 32, and 64-byte vectors
libeigen/eigen!2213

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-25 08:50:47 -08:00
Rasmus Munk Larsen
ea25ea52bb Revert accidental changes from !2212 squash merge
libeigen/eigen!2214

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-25 08:31:41 -08:00
Rasmus Munk Larsen
38f0f42755 Update rmlarsen email address from @google.com to @gmail.com
libeigen/eigen!2212

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-25 07:45:02 -08:00
Rasmus Munk Larsen
d0d70a9527 Consolidate complex math function boilerplate with shared macros
libeigen/eigen!2201

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-25 07:21:20 -08:00
Rasmus Munk Larsen
c4c704e5dd Install libclang-rt-19-dev for asan-ubsan CI job
libeigen/eigen!2210

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-24 20:19:42 -08:00