Commit message (Collapse) | Author | Age | ||
---|---|---|---|---|
... | ||||
* | | | Implement custom inplace triangular product to avoid a temporary | Gael Guennebaud | 2018-07-03 | |
| | | | ||||
* | | | Make is_same_dense compatible with different scalar types. | Gael Guennebaud | 2018-07-03 | |
| | | | ||||
* | | | Fix regression in changeset f05dea6b2326836e5e0243fbaffbece84b833d64 | Gael Guennebaud | 2018-07-02 | |
| | | | | | | | | | | | | : computeFromHessenberg can take any expression for matrixQ, not only an HouseholderSequence. | |||
* | | | Simplify redux_evaluator using inheritance, and properly rename parameters ↵ | Gael Guennebaud | 2018-07-02 | |
| | | | | | | | | | | | | in reducers. | |||
* | | | bug #1562: optimize evaluation of small products of the form s*A*B by ↵ | Gael Guennebaud | 2018-07-02 | |
| | | | | | | | | | | | | rewriting them as: s*(A.lazyProduct(B)) to save a costly temporary. Measured speedup from 2x to 5x... | |||
* | | | update comment | Gael Guennebaud | 2018-06-29 | |
| | | | ||||
* | | | Fix order of EIGEN_DEVICE_FUNC and returned type | Gael Guennebaud | 2018-06-28 | |
| | | | ||||
* | | | First step towards a generic vectorised quaternion product | Gael Guennebaud | 2018-06-25 | |
| | | | ||||
* | | | bug #1560 fix product with a 1x1 diagonal matrix | Gael Guennebaud | 2018-06-25 | |
| | | | ||||
* | | | Fix typo in pbend for AltiVec. | Rasmus Munk Larsen | 2018-06-22 | |
| |/ |/| | ||||
* | | Merged in mfigurnov/eigen/gamma-der-a (pull request PR-403) | Benoit Steiner | 2018-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. | Gael Guennebaud | 2018-06-08 | |
| | | | ||||
* | | | bug #1531: expose NumDimensions for compatibility with Tensor | Gael Guennebaud | 2018-06-08 | |
| | | | ||||
* | | | bug #1550: prevent avoidable memory allocation in RealSchur | Gael Guennebaud | 2018-06-08 | |
| | | | ||||
* | | | Don't use std::equal_to inside cuda kernels since it's not supported. | Benoit Steiner | 2018-06-07 | |
| | | | ||||
* | | | Missing line during manual rebase of PR-374 | Christoph Hertzberg | 2018-06-07 | |
| | | | ||||
| * | | Merge from eigen/eigen | Michael Figurnov | 2018-06-07 | |
| |\ \ | ||||
| * | | | Derivative of the incomplete Gamma function and the sample of a Gamma random ↵ | Michael Figurnov | 2018-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 support for using Eigen in HIP kernels. | Deven Desai | 2018-06-06 | |
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | This commit enables the use of Eigen on HIP kernels / AMD GPUs. Support has been added along the same lines as what already exists for using Eigen in CUDA kernels / NVidia GPUs. Application code needs to explicitly define EIGEN_USE_HIP when using Eigen in HIP kernels. This is because some of the CUDA headers get picked up by default during Eigen compile (irrespective of whether or not the underlying compiler is CUDACC/NVCC, for e.g. Eigen/src/Core/arch/CUDA/Half.h). In order to maintain this behavior, the EIGEN_USE_HIP macro is used to switch to using the HIP version of those header files (see Eigen/Core and unsupported/Eigen/CXX11/Tensor) Use the "-DEIGEN_TEST_HIP" cmake option to enable the HIP specific unit tests. | |||
* | | | Adding EIGEN_DEVICE_FUNC to Products, especially Dense2Dense Assignment | Robert Lukierski | 2018-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 warning | Gael Guennebaud | 2018-06-07 | |
| | | ||||
* | | Fix MSVC warning C4290: C++ exception specification ignored except to ↵ | Gael Guennebaud | 2018-06-07 | |
| | | | | | | | | indicate a function is not __declspec(nothrow) | |||
* | | Avoid unnecessary C++11 dependency | Christoph Hertzberg | 2018-06-07 | |
| | | ||||
* | | Fix typos found using codespell | Gael Guennebaud | 2018-06-07 | |
| | | ||||
* | | Set EIGEN_IDEAL_MAX_ALIGN_BYTES correctly for AVX512 builds | Mark D Ryan | 2018-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 ↵ | Gael Guennebaud | 2018-06-07 | |
|/ | | | | PGI (the later being the one that has the wrong prototype). | |||
* | Exponentially scaled modified Bessel functions of order zero and one. | Michael Figurnov | 2018-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 ↵ | Gael Guennebaud | 2018-05-29 | |
| | | | | silently reinterpreted as int instead of being converted) | |||
* | Fix compilation and SSE support with PGI compiler | Gael Guennebaud | 2018-05-29 | |
| | ||||
* | Fix internal::is_integral<size_t/ptrdiff_t> with MSVC 2013 and older. | Gael Guennebaud | 2018-05-22 | |
| | ||||
* | Workaround a MSVC 2013 compilation issue with MatrixBase(Index,int) | Gael Guennebaud | 2018-05-22 | |
| | ||||
* | fix stupid typo | Gael Guennebaud | 2018-05-18 | |
| | ||||
* | is_convertible<T,Index> does not seems to work well with MSVC 2013, so let's ↵ | Gael Guennebaud | 2018-05-18 | |
| | | | | rather use __is_enum(T) for old MSVC versions | |||
* | add some internal checks | Gael Guennebaud | 2018-05-18 | |
| | ||||
* | Make sparse QR result sizes consistent with dense QR, with the following rules: | Jeff Trull | 2018-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 ↵ | Christoph Hertzberg | 2018-05-17 | |
| | | | | Jeff Trull in PR-386. | |||
* | Fix "suggest parentheses around comparison" warning | Christoph Hertzberg | 2018-05-15 | |
| | ||||
* | Fix compilation with NEON+MSVC | Gael Guennebaud | 2018-04-26 | |
| | ||||
* | Add multi-threading for sparse-row-major * dense-row-major | Gael Guennebaud | 2018-04-25 | |
| | ||||
* | bug #1428: atempt to make NEON vectorization compilable by MSVC. | Gael Guennebaud | 2018-04-24 | |
| | | | | The workaround is to wrap NEON packet types to make them different c++ types. | |||
* | fix AVX512 plog | Benoit Steiner | 2018-04-23 | |
|\ | ||||
* | | Add specializations of is_arithmetic for long long in c++11 | Gael Guennebaud | 2018-04-23 | |
| | | ||||
* | | workaround MSVC 2013 compilation issue (ambiguous call) | Gael Guennebaud | 2018-04-23 | |
| | | ||||
* | | typo in doc | Gael Guennebaud | 2018-04-23 | |
| | | ||||
* | | bug #1543: fix linear indexing in generic block evaluation (this completes ↵ | Gael Guennebaud | 2018-04-23 | |
| | | | | | | | | | | | | the fix in commit 12efc7d41b80259b996be5781bf596c249c90d3f ) | |||
* | | Disable -Wshadow when compiling with g++ | Christoph Hertzberg | 2018-04-21 | |
| | | ||||
| * | fix AVX512 plog | Jayaram Bobba | 2018-04-20 | |
|/ | ||||
* | fix const cast in NEON | Gael Guennebaud | 2018-04-18 | |
| | ||||
* | Cast zeros to Scalar in RealSchur | Dmitriy Korchemkin | 2018-04-18 | |
| | ||||
* | Renamed .trans() et al. to .reverseFlag() et at. Adapted documentation of ↵ | Christoph Hertzberg | 2018-04-17 | |
| | | | | .setReverseFlag() |