aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen
Commit message (Collapse)AuthorAge
* bug #698: rewrite LinSpaced for integer scalar types to avoid overflow and ↵Gravatar Gael Guennebaud2016-10-24
| | | | | | | guarantee an even spacing when possible. Otherwise, the "high" bound is implicitly lowered to the largest value allowing for an even distribution. This changeset also disable vectorization for this integer path.
* bug #1328: workaround a compilation issue with gcc 4.2Gravatar Gael Guennebaud2016-10-20
|
* Fixed a few typos in the ternary tensor expressions typesGravatar Benoit Steiner2016-10-19
|
* Fix previous merge.Gravatar Gael Guennebaud2016-10-14
|
* Merged in rmlarsen/eigen2 (pull request PR-232)Gravatar Gael Guennebaud2016-10-14
|\ | | | | | | Improve performance of parallelized matrix multiply for rectangular matrices
* \ Merged in lukier/eigen (pull request PR-234)Gravatar Benoit Steiner2016-10-13
|\ \ | | | | | | | | | Enabling CUDA in Geometry
| * | Fixes for min and abs after Benoit's comments, switched to numext.Gravatar Robert Lukierski2016-10-13
| | |
* | | Patch to allow VS2015 & CUDA 8.0 to compile with Eigen included. I'm not sureGravatar Avi Ginsburg2016-10-13
| | | | | | | | | | | | | | | | | | | | | whether to limit the check to this compiler combination (` || (EIGEN_COMP_MSVC == 1900 && __CUDACC_VER__) `) or to leave it as it is. I also don't know if this will have any affect on including Eigen in device code (I'm not in my current project).
* | | Remove double ;;Gravatar Gael Guennebaud2016-10-12
| | |
* | | Fix SPQR for rectangular matricesGravatar Gael Guennebaud2016-10-12
| | |
| * | Fixes min() warnings.Gravatar Robert Lukierski2016-10-12
| | |
* | | Merged in rmlarsen/eigen (pull request PR-230)Gravatar Gael Guennebaud2016-10-12
|\ \ \ | | | | | | | | | | | | Fix a bug in psqrt for SSE and AVX when EIGEN_FAST_MATH=1
| | * | Adding EIGEN_DEVICE_FUNC in the Geometry module.Gravatar Robert Lukierski2016-10-12
| | | | | | | | | | | | | | | | | | | | Additional CUDA necessary fixes in the Core (mostly usage of EIGEN_USING_STD_MATH).
| * | | Fix copy-paste error: Must use _mm256_cmp_ps for AVX.Gravatar Rasmus Munk Larsen2016-10-12
| | | |
* | | | bug #1325: fix compilation on NEON with clangGravatar Gael Guennebaud2016-10-12
| |/ / |/| |
* | | Reenabled the use of variadic templates on tegra x1 provides that the latest ↵Gravatar Benoit Steiner2016-10-08
| | | | | | | | | | | | version (i.e. JetPack 2.3) is used.
* | | Remove static qualifier of free-functions (inline is enough and this helps ↵Gravatar Gael Guennebaud2016-10-07
| | | | | | | | | | | | ICC to find the right overload)
* | | Added missing AVX intrinsics for fp16: in particular, implemented predux ↵Gravatar Benoit Steiner2016-10-06
| | | | | | | | | | | | which is required by the matrix-vector code.
| | * Add a simple cost model to prevent Eigen's parallel GEMM from using too many ↵Gravatar Rasmus Munk Larsen2016-10-06
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | threads when the inner dimension is small. Timing for square matrices is unchanged, but both CPU and Wall time are significantly improved for skinny matrices. The benchmarks below are for multiplying NxK * KxN matrices with test names of the form BM_OuterishProd/N/K. Improvements in Wall time: Run on [redacted] (12 X 3501 MHz CPUs); 2016-10-05T17:40:02.462497196-07:00 CPU: Intel Haswell with HyperThreading (6 cores) dL1:32KB dL2:256KB dL3:15MB Benchmark Base (ns) New (ns) Improvement ------------------------------------------------------------------ BM_OuterishProd/64/1 3088 1610 +47.9% BM_OuterishProd/64/4 3562 2414 +32.2% BM_OuterishProd/64/32 8861 7815 +11.8% BM_OuterishProd/128/1 11363 6504 +42.8% BM_OuterishProd/128/4 11128 9794 +12.0% BM_OuterishProd/128/64 27691 27396 +1.1% BM_OuterishProd/256/1 33214 28123 +15.3% BM_OuterishProd/256/4 34312 36818 -7.3% BM_OuterishProd/256/128 174866 176398 -0.9% BM_OuterishProd/512/1 7963684 104224 +98.7% BM_OuterishProd/512/4 7987913 112867 +98.6% BM_OuterishProd/512/256 8198378 1306500 +84.1% BM_OuterishProd/1k/1 7356256 324432 +95.6% BM_OuterishProd/1k/4 8129616 331621 +95.9% BM_OuterishProd/1k/512 27265418 7517538 +72.4% Improvements in CPU time: Run on [redacted] (12 X 3501 MHz CPUs); 2016-10-05T17:40:02.462497196-07:00 CPU: Intel Haswell with HyperThreading (6 cores) dL1:32KB dL2:256KB dL3:15MB Benchmark Base (ns) New (ns) Improvement ------------------------------------------------------------------ BM_OuterishProd/64/1 6169 1608 +73.9% BM_OuterishProd/64/4 7117 2412 +66.1% BM_OuterishProd/64/32 17702 15616 +11.8% BM_OuterishProd/128/1 45415 6498 +85.7% BM_OuterishProd/128/4 44459 9786 +78.0% BM_OuterishProd/128/64 110657 109489 +1.1% BM_OuterishProd/256/1 265158 28101 +89.4% BM_OuterishProd/256/4 274234 183885 +32.9% BM_OuterishProd/256/128 1397160 1408776 -0.8% BM_OuterishProd/512/1 78947048 520703 +99.3% BM_OuterishProd/512/4 86955578 1349742 +98.4% BM_OuterishProd/512/256 74701613 15584661 +79.1% BM_OuterishProd/1k/1 78352601 3877911 +95.1% BM_OuterishProd/1k/4 78521643 3966221 +94.9% BM_OuterishProd/1k/512 258104736 89480530 +65.3%
* | Fix compilation of qr.inverse() for column and full pivoting variants.Gravatar Gael Guennebaud2016-10-06
| |
* | Properly characterize the CUDA packet primitives for fp16 as device onlyGravatar Benoit Steiner2016-10-04
| |
| * Update comment for fast sqrt.Gravatar Rasmus Munk Larsen2016-10-04
| |
| * Update comment for fast sqrt.Gravatar Rasmus Munk Larsen2016-10-04
| |
| * Fix a bug in the implementation of Carmack's fast sqrt algorithm in Eigen ↵Gravatar Rasmus Munk Larsen2016-10-04
|/ | | | | | | | | | | | | | (enabled by EIGEN_FAST_MATH), which causes the vectorized parts of the computation to return -0.0 instead of NaN for negative arguments. Benchmark speed in Giga-sqrts/s Intel(R) Xeon(R) CPU E5-1650 v3 @ 3.50GHz ----------------------------------------- SSE AVX Fast=1 2.529G 4.380G Fast=0 1.944G 1.898G Fast=1 fixed 2.214G 3.739G This table illustrates the worst case in terms speed impact: It was measured by repeatedly computing the sqrt of an n=4096 float vector that fits in L1 cache. For large vectors the operation becomes memory bound and the differences between the different versions almost negligible.
* Use explicit type casting to generate packets of zeros.Gravatar Benoit Steiner2016-10-04
|
* Added support for constand std::complex numbers on GPUGravatar Benoit Steiner2016-10-03
|
* bug #1317: fix performance regression with some Block expressions and clang ↵Gravatar Gael Guennebaud2016-10-01
| | | | | | by helping it to remove dead code. The trick is to get rid of the nested expression in the evaluator by copying only the required information (here, the strides).
* bug #1310: workaround a compilation regression from 3.2 regarding triangular ↵Gravatar Gael Guennebaud2016-09-30
| | | | * homogeneous
* Fix angle rangeGravatar Gael Guennebaud2016-09-30
|
* Remove std:: prefixGravatar Gael Guennebaud2016-09-30
|
* bug #1312: Quaternion to AxisAngle conversion now ensures the angle will be ↵Gravatar Gael Guennebaud2016-09-29
| | | | in the range [-pi,pi]. This also increases accuracy when q.w is negative.
* bug #1308: fix compilation of some small products involving nullary-expressions.Gravatar Gael Guennebaud2016-09-29
|
* Updated the list of warnings to reflect the new message ids introduced in ↵Gravatar Benoit Steiner2016-09-28
| | | | cuda 8.0
* Merged in sergiu/eigen (pull request PR-229)Gravatar Gael Guennebaud2016-09-27
|\ | | | | | | Disabled MSVC level 4 warning C4714
* | Add debug info.Gravatar Gael Guennebaud2016-09-26
| |
* | bug #1311: fix alignment logic in some cases of ↵Gravatar Gael Guennebaud2016-09-26
| | | | | | | | (scalar*small).lazyProduct(small)
* | bug #1308: fix compilation of vector * rowvector::nullary.Gravatar Gael Guennebaud2016-09-25
| |
| * disabled MSVC level 4 warning C4714Gravatar Sergiu Deitsch2016-09-25
| | | | | | | | | | The level 4 warning (/W4) warns about functions marked as __forceinline not inlined, and generates a lot of noise.
* | bug #1304: fix Projective * scaling and Projective *= scalingGravatar Gael Guennebaud2016-09-23
| |
* | Added a specialization of Eigen::numext::real and Eigen::numext::imag for ↵Gravatar Benoit Steiner2016-09-22
|/ | | | std::complex<T> to be used when compiling a cuda kernel. This is unfortunately necessary to be able to process complex numbers from a CUDA kernel on MacOS.
* bump to 3.3-rc1Gravatar Gael Guennebaud2016-09-22
|
* mergeGravatar Gael Guennebaud2016-09-22
|\
* \ mergeGravatar Gael Guennebaud2016-09-22
|\ \
* | | Backout changeset ce3557ca69742af477546d031d644a6dab1ff614Gravatar Gael Guennebaud2016-09-22
| | |
| | * Calls x.imag() instead of imag(x) when x is a complex number since the formerGravatar Benoit Steiner2016-09-22
| | | | | | | | | | | | is a constexpr while the later isn't. This fixes compilation errors triggered by nvcc on Mac.
| * | Bypass identity reflectors.Gravatar Gael Guennebaud2016-09-22
| |/
| * fix documentation of LinSpacedGravatar Felix Gruber2016-09-22
| | | | | | | | The index of the highest value in a LinSpace is size-1.
| * Add a note regarding gcc bug #72867Gravatar Gael Guennebaud2016-09-22
| |
| * Fix alignement of statically allocated temporaries in symv, and trmv.Gravatar Gael Guennebaud2016-09-21
| |
| * Improve cost estimation of complex divisionGravatar Gael Guennebaud2016-09-21
| |