Commit Graph

7645 Commits

Author SHA1 Message Date
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
61895c5978 Selectively add constexpr to Core expression template scaffolding
libeigen/eigen!2184

Closes #3041

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-24 19:59:10 -08:00
Rasmus Munk Larsen
28d090a49c Refactor GenericPacketMathFunctions.h into smaller focused headers
libeigen/eigen!2200

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-24 17:46:12 -08:00
Antonio Sánchez
2cd9bb7380 Fix sparse product with entities that do not have direct access.
libeigen/eigen!2205
2026-02-24 16:27:06 -08:00
Rasmus Munk Larsen
241af1c0ba Add NVHPC (nvc++) compiler support and CI build/test jobs
libeigen/eigen!2186

Closes #3032

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-23 18:51:15 -08:00
Antonio Sánchez
f3f2c676b5 Fix direct access for sparse blocks.
libeigen/eigen!2202
2026-02-23 12:00:52 -08:00
Rasmus Munk Larsen
d537b51ede Fix ComplexEigenSolver NaN with flush-to-zero arithmetic
libeigen/eigen!2196

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-23 11:15:31 -08:00
Rasmus Munk Larsen
78b76986b7 Comment cleanup v3: trailing ??, informal language, FIXME/TODO colons
libeigen/eigen!2197

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-22 21:20:08 -08:00
Rasmus Munk Larsen
112c2324bd Consolidate BF16/F16 wrapper macros and simplify arch math functions
libeigen/eigen!2195

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-22 20:17:43 -08:00
Rasmus Munk Larsen
d5e67adbe7 Clean up informal language, vague TODOs, and dead code in comments
libeigen/eigen!2191

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-22 18:32:10 -08:00
Rasmus Munk Larsen
7d727d26bc Refactor GenericPacketMathFunctions.h into smaller focused headers
libeigen/eigen!2190

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-22 16:30:57 -08:00
Rasmus Munk Larsen
ad7f1fe70e Improve clang vector extension backend
libeigen/eigen!2183

Closes #3042

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-22 13:31:21 -08:00
Rasmus Munk Larsen
44c6132163 Fix ~40 typos found by codespell across the codebase
libeigen/eigen!2181

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-21 21:29:50 -08:00
Rasmus Munk Larsen
f52ad04bbb Fix ASAN-detected bugs in Diagonal::data() and array_cwise test
libeigen/eigen!2182

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-21 21:11:36 -08:00
Rasmus Munk Larsen
e6accc73ff Fix comment typos, doubled words, grammar errors, and copy-paste mistakes
libeigen/eigen!2173

Closes #3034

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-21 14:36:21 -08:00
Rasmus Munk Larsen
0e424f4050 Remove dead code, commented-out blocks, and outdated comments
libeigen/eigen!2172

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-21 12:49:56 -08:00
Rasmus Munk Larsen
18791a81b9 Fix MSVC build: disable [[msvc::forceinline]] on generic lambdas
libeigen/eigen!2171

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-21 00:13:58 -08:00
Rasmus Munk Larsen
95e8bc3267 Add EIGEN_LAMBDA_ALWAYS_INLINE macro for MSVC lambda inlining
libeigen/eigen!2170

Closes #3033

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-20 21:28:47 -08:00
Rasmus Munk Larsen
a87ecfb179 Use m_ prefix consistently for private/protected member variables
libeigen/eigen!2168

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-20 20:35:58 -08:00
Rasmus Munk Larsen
270ea539fa Remove redundant EIGEN_STRONG_INLINE from trivial constexpr and = default functions
libeigen/eigen!2161

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-20 19:50:52 -08:00
Antonio Sánchez
e0a8d6c9d8 Fix compile warnings
libeigen/eigen!2167
2026-02-20 23:09:56 +00:00
Rasmus Munk Larsen
1dcea43c49 Fix RowMajor performance for triangular/dense assignment
libeigen/eigen!2165

Closes #3031

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-20 08:02:15 -08:00
Rasmus Munk Larsen
2c898e8b95 Remove unused LhsPacketType typedef in gebp_peeled_loop
libeigen/eigen!2162

Closes #3029

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-19 20:15:15 -08:00
Rasmus Munk Larsen
4fdc82d695 Fix mixed-type compilation error in row-major GEMV small-cols path
libeigen/eigen!2160

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-19 19:54:16 -08:00
Rasmus Munk Larsen
4141d1fd2d Fix -Wtautological-overlap-compare warning in row-major GEMV dispatch
libeigen/eigen!2158

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-19 15:56:16 -08:00
Rasmus Munk Larsen
53e3408cb7 Optimize GEMV kernels: row-major small-cols and template deduplication
libeigen/eigen!2151

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-19 15:06:24 -08:00
Rasmus Munk Larsen
5f09b3b63f Fix missing template argument list in trsmKernelR for Clang 20/21
libeigen/eigen!2155

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-18 20:43:17 -08:00
Rasmus Munk Larsen
c9eab40878 Fix unused variable warning for phys_l1 on non-AVX512 builds
libeigen/eigen!2154

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-18 20:26:28 -08:00
Rasmus Munk Larsen
3c86a013b1 Vectorize generic trsmKernelR for non-AVX512 targets
libeigen/eigen!2135

Closes #3027

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-18 17:34:31 -08:00
Steve Bronder
43a01f06ad update AVX and AVX512 to support gcc < 10.1 and clang < 10
libeigen/eigen!2129

Closes #3021
2026-02-18 22:07:24 +00: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
e953f1e504 Modernize C++14 usage and minor optimizations in Core
libeigen/eigen!2143

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
Co-authored-by: Rasmus Munk Larsen <rmlarsen@google.com>
2026-02-18 12:47:51 -08:00
Rasmus Munk Larsen
f69745b678 Fix real x complex GEMM for backends where half == full packet size
libeigen/eigen!2150

Closes #3028

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-18 12:32:24 -08:00
Rasmus Munk Larsen
bdec88009d Remove const from return-by-value types (issue #1087)
libeigen/eigen!2144

Closes #1087

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-18 03:10:11 -08:00
Rasmus Munk Larsen
740cac97b4 Fix AVX double-precision trig and complex exp without AVX2
libeigen/eigen!2147

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-17 19:48:16 -08:00
Rasmus Munk Larsen
50d6d92a70 Optimize sparse-dense product by bypassing InnerIterator for compressed storage
libeigen/eigen!2134

Closes #3026

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-17 19:19:18 -08:00
Rasmus Munk Larsen
b6b2f31ba8 Fix compiler warnings from GCC 13 and Clang 18
libeigen/eigen!2146

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-17 10:09:39 -08:00
Rasmus Munk Larsen
113207a9de Optimize JacobiSVD 2x2 kernel and hoist sweep threshold
libeigen/eigen!2139

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-16 15:39:38 -08:00
Rasmus Munk Larsen
e6e5b5c4c8 Fix pexp_complex for complex<double> (issue #3022)
libeigen/eigen!2140

Closes #3022

Co-authored-by: Rasmus Munk Larsen <rmlarsen@gmail.com>
2026-02-16 15:30:31 -08:00
Rasmus Munk Larsen
2b561f9284 Revert "Specialized enable_borrowed_ranges for VectorwiseOp class range iteration"
This reverts merge request !2127
2026-02-16 02:12:28 -08:00
Blake
d0654a201b Specialized enable_borrowed_ranges for VectorwiseOp class range iteration
libeigen/eigen!2127

Closes #2882
2026-02-15 07:31:33 -08:00
Antonio Sánchez
1a2b80727c Fix pdiv for complex packets involving infinites.
libeigen/eigen!2131
2026-02-14 17:47:32 -08:00
Blake
23fcc1c6c9 MatrixBase::diagonalView issue 604
libeigen/eigen!2126

Closes #604
2026-02-10 02:12:03 +00:00
Chip Kerchner
0ac2a2df9f Prevent predux_half for DoublePacket from accidentally catching complex Packets of size >= 16
libeigen/eigen!2125
2026-02-08 10:19:45 -08:00