Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | bug #1741: fix self-adjoint*matrix, triangular*matrix, and ↵ | Gael Guennebaud | 2019-09-11 |
| | | | | triangular^1*matrix with a destination having a non-trivial inner-stride | ||
* | gebp: Add new ½ and ¼ packet rows per (peeling) round on the lhs | Gustavo Lima Chaves | 2018-12-21 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The patch works by altering the gebp lhs packing routines to also consider ½ and ¼ packet lenght rows when packing, besides the original whole package and row-by-row attempts. Finally, gebp itself will try to fit a fraction of a packet at a time if: i) ½ and/or ¼ packets are available for the current context (e.g. AVX2 and SSE-sized SIMD register for x86) ii) The matrix's height is favorable to it (it may be it's too small in that dimension to take full advantage of the current/maximum packet width or it may be the case that last rows may take advantage of smaller packets before gebp goes row-by-row) This helps mitigate huge slowdowns one had on AVX512 builds when compared to AVX2 ones, for some dimensions. Gains top at an extra 1x in throughput. This patch is a complement to changeset 4ad359237aeb519dbd4b55eba43057b37988838c . Since packing is changed, Eigen users which would go for very low-level API usage, like TensorFlow, will have to be adapted to work fine with the changes. | ||
* | Fix regression introduced by the previous fix for AVX512. | Gael Guennebaud | 2018-09-20 |
| | | | | It brokes the complex-complex case on SSE. | ||
* | Fix gebp kernel for real+complex in case only reals are vectorized (e.g., ↵ | Gael Guennebaud | 2018-09-20 |
| | | | | | | AVX512). This commit also removes "half-packet" from data-mappers: it was not used and conceptually broken anyways. | ||
* | Remove dead code. | Gael Guennebaud | 2016-01-26 |
| | |||
* | bug #51: add block preallocation mechanism to selfadjoit*matrix product. | Gael Guennebaud | 2016-01-25 |
| | |||
* | Remove deprecated usage of expr::Index. | Gael Guennebaud | 2015-02-16 |
| | |||
* | Pulled latest fixes | Benoit Steiner | 2015-02-06 |
|\ | |||
| * | Fix symmetric product | Gael Guennebaud | 2015-02-06 |
| | | |||
* | | Pulled the latest changes from the trunk | Benoit Steiner | 2015-02-06 |
|\ \ | |/ |/| | |||
* | | Made the blocking computation aware of the l3 cache | Benoit Steiner | 2014-10-15 |
| | | | | | | | | Also optimized the blocking parameters to take into account the number of threads used for a computation | ||
* | | Generalized the gebp apis | Benoit Steiner | 2014-10-02 |
| | | |||
| * | Remove deprecated code not used by evaluators | Gael Guennebaud | 2014-09-18 |
| | | |||
| * | merge with default branch | Gael Guennebaud | 2014-06-20 |
| |\ | |/ |/| | |||
* | | New gebp kernel handling up to 3 packets x 4 register-level blocks. Huge ↵ | Gael Guennebaud | 2014-04-16 |
| | | | | | | | | | | | | speeup on Haswell. This changeset also introduce new vector functions: ploadquad and predux4. | ||
* | | Update gebp kernel to process a panle of 4 columns at once for the remaining ↵ | Gael Guennebaud | 2014-03-26 |
| | | | | | | | | ones. | ||
* | | Implement new 1 packet x 8 gebp kernel | Gael Guennebaud | 2014-03-26 |
| | | |||
| * | Fix evaluators unit test (i.e., when only EIGEN_ENABLE_EVALUATORS is defined | Gael Guennebaud | 2014-03-10 |
| | | |||
| * | By-pass ProductBase for triangular and selfadjoint products and get rid of ↵ | Gael Guennebaud | 2014-02-23 |
|/ | | | | ProductBase | ||
* | Fix bug #314: move remaining math functions from internal to numext namespace | Gael Guennebaud | 2013-06-10 |
| | |||
* | Fix "routine is both "inline" and "noinline"" warnings | Gael Guennebaud | 2013-02-28 |
| | |||
* | bug #482: pass scalar arguments by const references. Still remains a few ↵ | Gael Guennebaud | 2013-02-25 |
| | | | | cases that might affect the ABI (see the bug entry) | ||
* | Automatic relicensing to MPL2 using Keirs script. Manual fixup follows. | Benoit Jacob | 2012-07-13 |
| | |||
* | Get rid of include directives inside namespace blocks (bug #339). | Jitse Niesen | 2012-04-15 |
| | |||
* | fix several const qualifier issues: double ones, meaningless ones, some ↵ | Gael Guennebaud | 2012-02-03 |
| | | | | | | missing ones, etc. (note that const qualifiers are set by internall::nested) | ||
* | protect calls to min and max with parentheses to make Eigen compatible with ↵ | Gael Guennebaud | 2011-07-21 |
| | | | | | | | default windows.h (transplanted from 49b6e9143e1d74441924c0c313536e263e12a55c ) | ||
* | fix memory leak when a custom scalar throw an exception | Gael Guennebaud | 2011-03-19 |
| | |||
* | bug #54 - really fix const correctness except in Sparse | Benoit Jacob | 2010-12-22 |
| | |||
* | bug #86 : use internal:: namespace instead of ei_ prefix | Benoit Jacob | 2010-10-25 |
| | |||
* | sync with default branch | Gael Guennebaud | 2010-07-22 |
|\ | |||
* | | fix trmm and symm wrt lhs packing | Gael Guennebaud | 2010-07-20 |
| | | |||
* | | fix lhs packing in the case of real * complex products | Gael Guennebaud | 2010-07-19 |
| | | |||
* | | * fix a couple of remaining issues with previous commit, | Gael Guennebaud | 2010-07-19 |
| | | | | | | | | * merge ei_product_blocking_traits into ei_gepb_traits | ||
* | | matrix product: move the alpha factor to gebp instead of the packing, | Gael Guennebaud | 2010-07-12 |
| | | | | | | | | clean some temporaries, etc. | ||
* | | compilation fix | Gael Guennebaud | 2010-07-08 |
| | | |||
* | | support for real * complex matrix product - step 1 (works for some special ↵ | Gael Guennebaud | 2010-07-07 |
| | | | | | | | | cases) | ||
| * | fix hemm to not use the imaginary part of the diagonal entries | Gael Guennebaud | 2010-07-17 |
|/ | |||
* | add support for vectorized conjugated products | Gael Guennebaud | 2010-07-06 |
| | |||
* | email change | Gael Guennebaud | 2010-06-24 |
| | |||
* | fix symm | Gael Guennebaud | 2010-06-24 |
| | |||
* | * makes all product use the new API to set the blocking sizes | Gael Guennebaud | 2010-06-22 |
| | | | | * fix an issue preventing multithreading (now Dynamic = -1 ...) | ||
* | the Index types change. | Benoit Jacob | 2010-05-30 |
| | | | | As discussed on the list (too long to explain here). | ||
* | stride() => inner/outerStride() | Gael Guennebaud | 2010-03-06 |
| | |||
* | fix symm | Gael Guennebaud | 2010-03-06 |
| | |||
* | merge with default branch | Gael Guennebaud | 2010-03-04 |
|\ | |||
| * | selfadjoint: do not reference the imaginary part of the diagonal | Gael Guennebaud | 2010-03-02 |
| | | |||
* | | significant speedup in the matrix-matrix products | Gael Guennebaud | 2010-02-23 |
|/ | |||
* | Get rid off GCC warning on comparing enums from different types. | Jitse Niesen | 2010-01-19 |
| | |||
* | remove the Triangular suffix to Upper, Lower, UnitLower, etc, | Gael Guennebaud | 2010-01-07 |
| | | | | and remove the respective bit flags | ||
* | make some changes to please clang, fix some warnings too. | Thomas Capricelli | 2010-01-04 |
| |