Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Revert "Revert "Adds EIGEN_CONSTEXPR and EIGEN_NOEXCEPT to rows(), cols(), ↵ | Steve Bronder | 2021-03-24 |
| | | | | | | innerStride(), outerStride(), and size()"" This reverts commit 5f0b4a4010af4cbf6161a0d1a03a747addc44a5d. | ||
* | Revert "Adds EIGEN_CONSTEXPR and EIGEN_NOEXCEPT to rows(), cols(), ↵ | David Tellenbach | 2021-03-05 |
| | | | | | | | innerStride(), outerStride(), and size()" This reverts commit 6cbb3038ac48cb5fe17eba4dfbf26e3e798041f1 because it breaks clang-10 builds on x86 and aarch64 when C++11 is enabled. | ||
* | Adds EIGEN_CONSTEXPR and EIGEN_NOEXCEPT to rows(), cols(), innerStride(), ↵ | Steve Bronder | 2021-03-04 |
| | | | | outerStride(), and size() | ||
* | Fix the embarrassingly incomplete fix to the embarrassing bug in blocked ↵ | Rasmus Munk Larsen | 2020-04-29 |
| | | | | transpose. | ||
* | Fix (embarrassing) bug in blocked transpose. | Rasmus Munk Larsen | 2020-04-29 |
| | |||
* | Add missing transpose in cleanup loop. Without it, we trip an assertion in ↵ | Rasmus Munk Larsen | 2020-04-29 |
| | | | | debug mode. | ||
* | Block transposeInPlace() when the matrix is real and square. This yields a ↵ | Rasmus Munk Larsen | 2020-04-28 |
| | | | | | | | | | | | | | | | | | | | | large speedup because we transpose in registers (or L1 if we spill), instead of one packet at a time, which in the worst case makes the code write to the same cache line PacketSize times instead of once. rmlarsen@rmlarsen4:.../eigen_bench/google3$ benchy --benchmarks=.*TransposeInPlace.*float.* --reference=srcfs experimental/users/rmlarsen/bench:matmul_bench 10 / 10 [====================================================================================================================================================================================================================] 100.00% 2m50s (Generated by http://go/benchy. Settings: --runs 5 --benchtime 1s --reference "srcfs" --benchmarks ".*TransposeInPlace.*float.*" experimental/users/rmlarsen/bench:matmul_bench) name old time/op new time/op delta BM_TransposeInPlace<float>/4 9.84ns ± 0% 6.51ns ± 0% -33.80% (p=0.008 n=5+5) BM_TransposeInPlace<float>/8 23.6ns ± 1% 17.6ns ± 0% -25.26% (p=0.016 n=5+4) BM_TransposeInPlace<float>/16 78.8ns ± 0% 60.3ns ± 0% -23.50% (p=0.029 n=4+4) BM_TransposeInPlace<float>/32 302ns ± 0% 229ns ± 0% -24.40% (p=0.008 n=5+5) BM_TransposeInPlace<float>/59 1.03µs ± 0% 0.84µs ± 1% -17.87% (p=0.016 n=5+4) BM_TransposeInPlace<float>/64 1.20µs ± 0% 0.89µs ± 1% -25.81% (p=0.008 n=5+5) BM_TransposeInPlace<float>/128 8.96µs ± 0% 3.82µs ± 2% -57.33% (p=0.008 n=5+5) BM_TransposeInPlace<float>/256 152µs ± 3% 17µs ± 2% -89.06% (p=0.008 n=5+5) BM_TransposeInPlace<float>/512 837µs ± 1% 208µs ± 0% -75.15% (p=0.008 n=5+5) BM_TransposeInPlace<float>/1k 4.28ms ± 2% 1.08ms ± 2% -74.72% (p=0.008 n=5+5) | ||
* | Bug #1788: Fix rule-of-three violations inside the stable modules. | Christoph Hertzberg | 2019-12-19 |
| | | | | | This fixes deprecated-copy warnings when compiling with GCC>=9 Also protect some additional Base-constructors from getting called by user code code (#1587) | ||
* | bug #1707: Fix deprecation warnings, or disable warnings when testing ↵ | Christoph Hertzberg | 2019-05-10 |
| | | | | deprecated functions | ||
* | bug #1680: improve MSVC inlining by declaring many triavial constructors and ↵ | Gael Guennebaud | 2019-02-15 |
| | | | | accessors as STRONG_INLINE. | ||
* | bug #1646: fix false aliasing detection for A.row(0) = A.col(0); | Gael Guennebaud | 2019-01-17 |
| | | | | This changeset completely disable the detection for vectors for which are current mechanism cannot detect any positive aliasing anyway. | ||
* | bug #1646: disable aliasing detection for empty and 1x1 expression | Gael Guennebaud | 2019-01-16 |
| | |||
* | Extend CUDA support to matrix inversion and selfadjointeigensolver | Andrea Bocci | 2018-06-11 |
| | |||
* | Added missing EIGEN_DEVICE_FUNC qualifiers | Benoit Steiner | 2017-02-28 |
| | |||
* | Fix regression in X = (X*X.transpose())/s with X rectangular by deferring ↵ | Gael Guennebaud | 2016-10-26 |
| | | | | resizing of the destination after the creation of the evaluator of the source expression. | ||
* | bug #178: remove additional const on nested expression, and remove several ↵ | Gael Guennebaud | 2016-01-28 |
| | | | | const_cast. | ||
* | Fix numerous doxygen shortcomings, and workaround some clang -Wdocumentation ↵ | Gael Guennebaud | 2016-01-01 |
| | | | | warnings | ||
* | Add LU::transpose().solve() and LU::adjoint().solve() API. | Gael Guennebaud | 2015-12-01 |
| | |||
* | First part of a big refactoring of alignment control to enable the handling ↵ | Gael Guennebaud | 2015-08-06 |
| | | | | | | | | | of arbitrarily aligned buffers. It includes: - AlignedBit flag is deprecated. Alignment is now specified by the evaluator through the 'Alignment' enum, e.g., evaluator<Xpr>::Alignment. Its value is in Bytes. - Add several enums to specify alignment: Aligned8, Aligned16, Aligned32, Aligned64, Aligned128. AlignedMax corresponds to EIGEN_MAX_ALIGN_BYTES. Such enums are used to define the above Alignment value, and as the 'Options' template parameter of Map<> and Ref<>. - The Aligned enum is now deprecated. It is now an alias for Aligned16. - Currently, traits<Matrix<>>, traits<Array<>>, traits<Ref<>>, traits<Map<>>, and traits<Block<>> also expose the Alignment enum. | ||
* | Get rid of class internal::nested<> (still have to updated Tensor module) | Gael Guennebaud | 2015-06-19 |
| | |||
* | Remove a few deprecated internal expressions | Gael Guennebaud | 2015-06-19 |
| | |||
* | Clean argument names of some functions | Gael Guennebaud | 2015-06-09 |
| | |||
* | Remove deprecated usage of expr::Index. | Gael Guennebaud | 2015-02-16 |
| | |||
* | Index refactoring: StorageIndex must be used for storage only (and locally ↵ | Gael Guennebaud | 2015-02-13 |
| | | | | when it make sense). In all other cases use the global Index type. | ||
* | Merge Index-refactoring branch with default, fix PastixSupport, remove some ↵ | Gael Guennebaud | 2015-02-13 |
|\ | | | | | | | useless typedefs | ||
| * | Enable vectorization of transposeInPlace for PacketSize x PacketSize matrices | Gael Guennebaud | 2015-01-26 |
| | | |||
* | | bug #877, bug #572: Introduce a global Index typedef. Rename Sparse*::Index ↵ | Christoph Hertzberg | 2014-12-04 |
|/ | | | | to StorageIndex, make Dense*::StorageIndex an alias to DenseIndex. Overall this commit gets rid of all Index conversion warnings. | ||
* | Make cuda_basic test compile again by adding lots of EIGEN_DEVICE_FUNC. | Christoph Hertzberg | 2014-10-13 |
| | | | | Although the test passes now, there might still be some missing. | ||
* | Make constructors explicit if they could lead to unintended implicit conversion | Christoph Hertzberg | 2014-09-23 |
| | |||
* | Remove deprecated code not used by evaluators | Gael Guennebaud | 2014-09-18 |
| | |||
* | workaround one more shadowing issue with MSVC | Gael Guennebaud | 2014-09-16 |
| | |||
* | Re-enable aliasing checks when using evaluators | Gael Guennebaud | 2014-09-14 |
| | |||
* | Implement binaryop and transpose evaluators for sparse matrices | Gael Guennebaud | 2014-06-23 |
| | |||
* | 1- Introduce sub-evaluator types for unary, binary, product, and map ↵ | Gael Guennebaud | 2014-06-20 |
| | | | | | | expressions to ease specializing them. 2- Remove a lot of code which should not be there with evaluators, in particular coeff/packet methods implemented in the expressions. | ||
* | merge default and evaluator branches | Gael Guennebaud | 2014-03-12 |
|\ | |||
* | | Move evaluation related flags from traits to evaluator and fix evaluators of ↵ | Gael Guennebaud | 2014-03-12 |
| | | | | | | | | MapBase and Replicate | ||
* | | Move CoeffReadCost mechanism to evaluators | Gael Guennebaud | 2014-03-10 |
| | | |||
| * | Specify what non-resizeable objects are in transposeInPlace and ↵ | Christoph Hertzberg | 2014-02-24 |
|/ | | | | adjointInPlace (cf bug #749) | ||
* | merge with main branch | Gael Guennebaud | 2013-07-17 |
|\ | |||
| * | Remove double const qualifier | Gael Guennebaud | 2013-07-10 |
| | | |||
| * | doc: Mention vec=vec.head(n) in aliasing page. | Jitse Niesen | 2013-07-02 |
| | | |||
| * | fix compilation of ArrayBase::transposeInPlace | Gael Guennebaud | 2013-06-24 |
| | | |||
| * | Fix compilation issue with some compilers (when doing using Base::foo;, foo ↵ | Gael Guennebaud | 2013-06-18 |
| | | | | | | | | must be visible in the direct base class) | ||
* | | merge with default branch | Gael Guennebaud | 2013-04-19 |
|\| | |||
| * | Guard against transposeInPlace on non-square non-resizable matrix. | Jitse Niesen | 2013-02-20 |
| | | | | | | | | Inspired by question by Martin Drozdik at stackoverflow.com/q/14954983 | ||
* | | Add support for NVCC5: most of the Core and part of LU are callable from ↵ | Gael Guennebaud | 2013-02-07 |
|/ | | | | | | CUDA code. Still a lot to do. | ||
* | Add missing const in some casts | Gael Guennebaud | 2012-08-05 |
| | |||
* | Automatic relicensing to MPL2 using Keirs script. Manual fixup follows. | Benoit Jacob | 2012-07-13 |
| | |||
* | fix most of the shadow warnings in Core/*.h | Gael Guennebaud | 2012-06-22 |
| | |||
* | Get rid of include directives inside namespace blocks (bug #339). | Jitse Niesen | 2012-04-15 |
| |