Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Add support for Arm SVE | David Tellenbach | 2021-01-21 |
| | | | | | | | | | | | | This patch adds support for Arm's new vector extension SVE (Scalable Vector Extension). In contrast to other vector extensions that are supported by Eigen, SVE types are inherently *sizeless*. For the use in Eigen we fix their size at compile-time (note that this is not necessary in general, SVE is *length agnostic*). During compilation the flag `-msve-vector-bits=N` has to be set where `N` is a power of two in the range of `128`to `2048`, indicating the length of an SVE vector. Since SVE is rather young, we decided to disable it by default even if it would be available. A user has to enable it explicitly by defining `EIGEN_ARM64_USE_SVE`. This patch introduces the packet types `PacketXf` and `PacketXi` for packets of `float` and `int32_t` respectively. The size of these packets depends on the SVE vector length. E.g. if `-msve-vector-bits=512` is set, `PacketXf` will contain `512/32 = 16` elements. This MR is joint work with Miguel Tairum <miguel.tairum@arm.com>. | ||
* | Don't make assumptions about NaN-propagation for pmin/pmax - it various ↵ | Rasmus Munk Larsen | 2020-10-07 |
| | | | | | | across platforms. Change test to only test for NaN-propagation for pfmin/pfmax. | ||
* | Fix shadow warnings in AlignedBox and SparseBlock | Eugene Zhulenev | 2019-11-27 |
| | |||
* | merge with default Eigen | Gael Guennebaud | 2018-09-21 |
|\ | |||
| * | Add support for MIPS SIMD (MSA) | Alexey Frunze | 2018-07-06 |
| | | |||
* | | Add support for mat(all) as an alias to mat.reshaped(mat.size(),fix<1>); | Gael Guennebaud | 2017-02-21 |
|/ | |||
* | Propagate compile-time increment and strides. | Gael Guennebaud | 2017-01-06 |
| | | | | Had to introduce a UndefinedIncr constant for non structured list of indices. | ||
* | bug #1213: rename some enums type for consistency. | Gael Guennebaud | 2016-05-18 |
| | |||
* | bug #1213: Give names to anonymous enums | Christoph Hertzberg | 2016-05-06 |
| | |||
* | rm remaining debug code | Gael Guennebaud | 2016-01-06 |
| | |||
* | Mark AlignedBit and EvalBeforeNestingBit with deprecated attribute, and ↵ | Gael Guennebaud | 2015-12-30 |
| | | | | remove the remaining usages of EvalBeforeNestingBit. | ||
* | Workaround "empty paragraph" warning with clang -Wdocumentation | Gael Guennebaud | 2015-12-30 |
| | |||
* | Fix numerous doxygen issues in auto-link generation | Gael Guennebaud | 2015-12-30 |
| | |||
* | Add LU::transpose().solve() and LU::adjoint().solve() API. | Gael Guennebaud | 2015-12-01 |
| | |||
* | Reimplement the tensor comparison operators by using the scalar_cmp_op ↵ | Benoit Steiner | 2015-11-06 |
| | | | | functors. This makes them more cuda friendly. | ||
* | Simplify cost computations based on HugeCost being smaller that unrolling limit | Gael Guennebaud | 2015-10-28 |
| | |||
* | Refactoring of the cost model: | Gael Guennebaud | 2015-10-28 |
| | | | | | | | | | | | - Dynamic is now an invalid value - introduce a HugeCost constant to be used for runtime-cost values or arbitrarily huge cost - add sanity checks for cost values: must be >=0 and not too large This change provides several benefits: - it fixes shortcoming is some cost computation where the Dynamic case was not properly handled. - it simplifies cost computation logic, and should avoid future similar shortcomings. - it allows to distinguish between different level of dynamic/huge/infinite cost - it should enable further simplifications in the computation of costs (save compilation time) | ||
* | Improve documentation of TriangularView. | Gael Guennebaud | 2015-10-09 |
| | |||
* | Mark ALignedBit as deprecated. | Gael Guennebaud | 2015-08-07 |
| | |||
* | 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. | ||
* | Remove a few deprecated internal expressions | Gael Guennebaud | 2015-06-19 |
| | |||
* | Introduce a AliasFreeProduct option for Permutations and Transpositions | Gael Guennebaud | 2015-06-19 |
| | |||
* | Improbe compatibility of Transpositions and evaluators | Gael Guennebaud | 2015-06-19 |
| | |||
* | Make Transpositions use evaluators | Gael Guennebaud | 2015-06-19 |
| | |||
* | bug #872: Avoid deprecated binder1st/binder2nd usage by providing custom ↵ | Christoph Hertzberg | 2015-05-07 |
| | | | | functors for comparison operators | ||
* | Made the index type a template parameter of the tensor class instead of ↵ | Benoit Steiner | 2015-03-30 |
| | | | | encoding it in the options. | ||
* | Added support for 32bit index on a per tensor/tensor expression. This ↵ | Benoit Steiner | 2015-02-27 |
| | | | | enables us to use 32bit indices to evaluate expressions on GPU faster while keeping the ability to use 64 bit indices to manipulate large tensors on CPU in the same binary. | ||
* | Add a SparseCompressedBase class providing (un)compressed accessors (like ↵ | Gael Guennebaud | 2015-02-07 |
| | | | | | | data()/*Stride() for dense matrices), and a CompressedAccessBit flag (similar to DirectAccessBit for dense matrices). | ||
* | Workaround various "returning reference to temporary" warnings. | Gael Guennebaud | 2014-12-05 |
| | |||
* | Introduce a generic InnerIterator classes compatible with evaluators. | Gael Guennebaud | 2014-09-29 |
| | |||
* | Merged eigen/eigen into default | Konstantinos Margaritis | 2014-09-21 |
|\ | |||
* | | Initial VSX commit | Konstantinos Margaritis | 2014-08-29 |
| | | |||
| * | Make minimal changes to make homogenous compatible with evaluators | Gael Guennebaud | 2014-07-31 |
| | | |||
| * | Make permutation compatible with sparse matrices | Gael Guennebaud | 2014-07-30 |
| | | |||
| * | Refactor TriangularView to handle both dense and sparse objects. Introduce a ↵ | Gael Guennebaud | 2014-07-22 |
| | | | | | | | | glu_shape<S1,S2> helper to assemble sparse/dense shapes with triagular/seladjoint views. | ||
| * | Split StorageKind promotion into two helpers: one for products, and one for ↵ | Gael Guennebaud | 2014-07-01 |
| | | | | | | | | coefficient-wise operations. | ||
| * | Add a NoPreferredStorageOrderBit flag for expression having no preferred ↵ | Gael Guennebaud | 2014-06-27 |
| | | | | | | | | | | | | storage order. It is currently only used in Product. | ||
| * | Port products with permutation matrices to evaluators. | Jitse Niesen | 2014-04-15 |
| | | |||
| * | Resurect EvalBeforeNestingBit to control nested_eval | Gael Guennebaud | 2014-03-12 |
| | | |||
| * | Some bit flags and internal structures are deprecated | Gael Guennebaud | 2014-02-20 |
| | | |||
| * | Fix usage of Dense versus DenseShape | Gael Guennebaud | 2013-12-02 |
| | | |||
| * | Refactor dense product evaluators | Gael Guennebaud | 2013-11-27 |
|/ | |||
* | Clarify the meaning of AlignedBit (bug #359) | Gael Guennebaud | 2013-10-28 |
| | |||
* | Fix several documentation issues | Gael Guennebaud | 2012-12-24 |
| | |||
* | Automatic relicensing to MPL2 using Keirs script. Manual fixup follows. | Benoit Jacob | 2012-07-13 |
| | |||
* | Add a DynamicIndex constant for signed quantities and use it to fix the conflict | Gael Guennebaud | 2012-07-10 |
| | | | | | between Diagonal<S,-1> (the first sub diagonal) and a runtime super/sub diagonal which is now: Diagonal<S,DynamicIndex> | ||
* | Implement eval-at-once in evaluator. | Jitse Niesen | 2012-06-29 |
| | | | | | | | | - Add evaluator_traits with HasEvalTo flag, which is true if evaluator has evalTo() function. - Add AllAtOnce traversal, which calls evalTo() in evaluator. - If source evaluator in copy_using_evaluator has HasEvalTo set, then use AllAtOnce traversal. | ||
* | Define NoChange as enum constant (bug #450). | Jitse Niesen | 2012-04-29 |
| | | | | This gets rid of some warnings on Intel Composer XE, apparently. | ||
* | Get rid of include directives inside namespace blocks (bug #339). | Jitse Niesen | 2012-04-15 |
| | |||
* | Update the PARDISO interface to match other sparse solvers. | Gael Guennebaud | 2012-02-04 |
| | | | | | | | - Add support for Upper or Lower inputs. - Add supports for sparse RHS - Remove transposed cases, remove ordering method interface - Add full access to PARDISO parameters |