aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen
Commit message (Collapse)AuthorAge
* Introduce the macro ei_declare_local_nested_eval to help allocating on the ↵Gravatar Gael Guennebaud2018-07-09
| | | | | | stack local temporaries via alloca, and let outer-products makes a good use of it. If successful, we should use it everywhere nested_eval is used to declare local dense temporaries.
* Skip null numerators in triangular-vector-solve (as in BLAS TRSV).Gravatar Gael Guennebaud2018-07-09
|
* Fix legitimate "declaration shadows a typedef" warningGravatar Gael Guennebaud2018-07-09
|
* Fix the Packet16h version of ptransposeGravatar Mark D Ryan2018-06-16
| | | | | | | | | | | The AVX512 version of ptranpose for PacketBlock<Packet16h,16> was reordering the PacketBlock argument incorrectly. This lead to errors in the multiplication of matrices composed of 16 bit floats on AVX512 machines, if at least of the matrices was using RowMajor order. This error is responsible for one tensorflow unit test failure on AVX512 machines: //tensorflow/python/kernel_tests:batch_matmul_op_test
* Fix a few issues with Packet16hGravatar Gael Guennebaud2018-07-07
|
* complete implementation of Packet16h (AVX512)Gravatar Gael Guennebaud2018-07-06
|
* Complete Packet8h implementation and test it in packetmath unit testGravatar Gael Guennebaud2018-07-06
|
* Extend CUDA support to matrix inversion and selfadjointeigensolverGravatar Andrea Bocci2018-06-11
|
* bug #1565: help MSVC to generatenot too bad ASM in reductions.Gravatar Gael Guennebaud2018-07-05
|
* Implement custom inplace triangular product to avoid a temporaryGravatar Gael Guennebaud2018-07-03
|
* Make is_same_dense compatible with different scalar types.Gravatar Gael Guennebaud2018-07-03
|
* Fix regression in changeset f05dea6b2326836e5e0243fbaffbece84b833d64Gravatar Gael Guennebaud2018-07-02
| | | | : computeFromHessenberg can take any expression for matrixQ, not only an HouseholderSequence.
* Simplify redux_evaluator using inheritance, and properly rename parameters ↵Gravatar Gael Guennebaud2018-07-02
| | | | in reducers.
* bug #1562: optimize evaluation of small products of the form s*A*B by ↵Gravatar Gael Guennebaud2018-07-02
| | | | rewriting them as: s*(A.lazyProduct(B)) to save a costly temporary. Measured speedup from 2x to 5x...
* update commentGravatar Gael Guennebaud2018-06-29
|
* Fix order of EIGEN_DEVICE_FUNC and returned typeGravatar Gael Guennebaud2018-06-28
|
* First step towards a generic vectorised quaternion productGravatar Gael Guennebaud2018-06-25
|
* bug #1560 fix product with a 1x1 diagonal matrixGravatar Gael Guennebaud2018-06-25
|
* Fix typo in pbend for AltiVec.Gravatar Rasmus Munk Larsen2018-06-22
|
* Merged in mfigurnov/eigen/gamma-der-a (pull request PR-403)Gravatar Benoit Steiner2018-06-11
|\ | | | | | | | | | | Derivative of the incomplete Gamma function and the sample of a Gamma random variable Approved-by: Benoit Steiner <benoit.steiner.goog@gmail.com>
* | bug #1531: expose NumDimensions for solve and sparse expressions.Gravatar Gael Guennebaud2018-06-08
| |
* | bug #1531: expose NumDimensions for compatibility with TensorGravatar Gael Guennebaud2018-06-08
| |
* | bug #1550: prevent avoidable memory allocation in RealSchurGravatar Gael Guennebaud2018-06-08
| |
* | Don't use std::equal_to inside cuda kernels since it's not supported.Gravatar Benoit Steiner2018-06-07
| |
* | Missing line during manual rebase of PR-374Gravatar Christoph Hertzberg2018-06-07
| |
| * Merge from eigen/eigenGravatar Michael Figurnov2018-06-07
| |\
| * | Derivative of the incomplete Gamma function and the sample of a Gamma random ↵Gravatar Michael Figurnov2018-06-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | variable. In addition to igamma(a, x), this code implements: * igamma_der_a(a, x) = d igamma(a, x) / da -- derivative of igamma with respect to the parameter * gamma_sample_der_alpha(alpha, sample) -- reparameterization derivative of a Gamma(alpha, 1) random variable sample with respect to the alpha parameter The derivatives are computed by forward mode differentiation of the igamma(a, x) code. Although gamma_sample_der_alpha can be implemented via igamma_der_a, a separate function is more accurate and efficient due to analytical cancellation of some terms. All three functions are implemented by a method parameterized with "mode" that always computes the derivatives, but does not return them unless required by the mode. The compiler is expected to (and, based on benchmarks, does) skip the unnecessary computations depending on the mode.
* | | Adding EIGEN_DEVICE_FUNC to Products, especially Dense2Dense AssignmentGravatar Robert Lukierski2018-03-14
| |/ |/| | | | | | | specializations. Otherwise causes problems with small fixed size matrix multiplication (call to 0x00 in call_assignment_no_alias in debug mode or trap in release with CUDA 9.1).
* | Fix warningGravatar Gael Guennebaud2018-06-07
| |
* | Fix MSVC warning C4290: C++ exception specification ignored except to ↵Gravatar Gael Guennebaud2018-06-07
| | | | | | | | indicate a function is not __declspec(nothrow)
* | Avoid unnecessary C++11 dependencyGravatar Christoph Hertzberg2018-06-07
| |
* | Fix typos found using codespellGravatar Gael Guennebaud2018-06-07
| |
* | Set EIGEN_IDEAL_MAX_ALIGN_BYTES correctly for AVX512 buildsGravatar Mark D Ryan2018-05-17
| | | | | | | | | | | | | | | | | | | | | | | | bug #1548 The macro EIGEN_IDEAL_MAX_ALIGN_BYTES is being incorrectly set to 32 on AVX512 builds. It should be set to 64. In the current code it is only set to 64 if the macro EIGEN_VECTORIZE_AVX512 is defined. This macro does get defined in AVX512 builds in Core, but only after Macros.h, the file that defines EIGEN_IDEAL_MAX_ALIGN_BYTES, has been included. This commit fixes the issue by setting EIGEN_IDEAL_MAX_ALIGN_BYTES to 64 if __AVX512F__ is defined.
* | Fix compilation with MSVC by reverting to char* for _mm_prefetch except for ↵Gravatar Gael Guennebaud2018-06-07
|/ | | | PGI (the later being the one that has the wrong prototype).
* Exponentially scaled modified Bessel functions of order zero and one.Gravatar Michael Figurnov2018-05-31
| | | | | | The functions are conventionally called i0e and i1e. The exponentially scaled version is more numerically stable. The standard Bessel functions can be obtained as i0(x) = exp(|x|) i0e(x) The code is ported from Cephes and tested against SciPy.
* Define pcast<> for SSE types even when AVX is enabled. (otherwise float are ↵Gravatar Gael Guennebaud2018-05-29
| | | | silently reinterpreted as int instead of being converted)
* Fix compilation and SSE support with PGI compilerGravatar Gael Guennebaud2018-05-29
|
* Fix internal::is_integral<size_t/ptrdiff_t> with MSVC 2013 and older.Gravatar Gael Guennebaud2018-05-22
|
* Workaround a MSVC 2013 compilation issue with MatrixBase(Index,int)Gravatar Gael Guennebaud2018-05-22
|
* fix stupid typoGravatar Gael Guennebaud2018-05-18
|
* is_convertible<T,Index> does not seems to work well with MSVC 2013, so let's ↵Gravatar Gael Guennebaud2018-05-18
| | | | rather use __is_enum(T) for old MSVC versions
* add some internal checksGravatar Gael Guennebaud2018-05-18
|
* Make sparse QR result sizes consistent with dense QR, with the following rules:Gravatar Jeff Trull2018-02-15
| | | | | | | | 1) Q is always square 2) Q*R*P' is valid and recovers the original matrix This implies that the size of Q is the number of rows in the original matrix, square, and that the size of R is the size of the original matrix.
* bug #1544: Generate correct Q matrix in complex case. Original patch was by ↵Gravatar Christoph Hertzberg2018-05-17
| | | | Jeff Trull in PR-386.
* Fix "suggest parentheses around comparison" warningGravatar Christoph Hertzberg2018-05-15
|
* Fix compilation with NEON+MSVCGravatar Gael Guennebaud2018-04-26
|
* Add multi-threading for sparse-row-major * dense-row-majorGravatar Gael Guennebaud2018-04-25
|
* bug #1428: atempt to make NEON vectorization compilable by MSVC.Gravatar Gael Guennebaud2018-04-24
| | | | The workaround is to wrap NEON packet types to make them different c++ types.
* fix AVX512 plogGravatar Benoit Steiner2018-04-23
|\
* | Add specializations of is_arithmetic for long long in c++11Gravatar Gael Guennebaud2018-04-23
| |