aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Merge.Gravatar Rasmus Munk Larsen2019-01-11
|\
| * Merged eigen/eigen into defaultGravatar Rasmus Larsen2019-01-11
| |\
* | \ Merge.Gravatar Rasmus Munk Larsen2019-01-11
|\ \ \
| | | * Remove reinterpret_cast from AVX512 complex implementationGravatar Mark D Ryan2019-01-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The reinterpret_casts used in ptranspose(PacketBlock<Packet8cf,4>&) ptranspose(PacketBlock<Packet8cf,8>&) don't appear to be working correctly. They're used to convert the kernel parameters to PacketBlock<Packet8d,T>& so that the complex number versions of ptranspose can be written using the existing double implementations. Unfortunately, they don't seem to work and are responsible for 9 unit test failures in the AVX512 build of tensorflow master. This commit fixes the issue by manually initialising PacketBlock<Packet8d,T> variables with the contents of the kernel parameter before calling the double version of ptranspose, and then copying the resulting values back into the kernel parameter before returning.
| | | * bug #1656: Enable failtests only if BUILD_TESTING is enabledGravatar Christoph Hertzberg2019-01-11
| | | |
| | | * Fix shorten-64-to-32 warning in TensorContractionThreadPoolGravatar Eugene Zhulenev2019-01-10
| | | |
* | | | Rename pones -> ptrue. Use _CMP_TRUE_UQ where appropriate.Gravatar Rasmus Munk Larsen2019-01-09
|\ \ \ \
| | * | | merge.Gravatar Rasmus Munk Larsen2019-01-09
| |/| | | |/|/ / /
* | | | mergeGravatar Rasmus Munk Larsen2019-01-09
|\ \ \ \
| | | * | Collapsed revisionGravatar Rasmus Munk Larsen2019-01-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add packet up "pones". Write pnot(a) as pxor(pones(a), a). * Collapsed revision * Simplify a bit. * Undo useless diffs. * Fix typo.
| | * | | Fix typo.Gravatar Rasmus Munk Larsen2019-01-09
| | | | |
* | | | | Collapsed revisionGravatar Rasmus Munk Larsen2019-01-09
| |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Collapsed revision * Add packet up "pones". Write pnot(a) as pxor(pones(a), a). * Collapsed revision * Simplify a bit. * Undo useless diffs. * Fix typo.
| * | | Collapsed revisionGravatar Rasmus Munk Larsen2019-01-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Collapsed revision * Add packet up "pones". Write pnot(a) as pxor(pones(a), a). * Collapsed revision * Simplify a bit. * Undo useless diffs. * Fix typo.
| * | | Collapsed revisionGravatar Rasmus Munk Larsen2019-01-09
|/ / / | | | | | | | | | | | | | | | | | | | | | * Add packet up "pones". Write pnot(a) as pxor(pones(a), a). * Collapsed revision * Simplify a bit. * Undo useless diffs. * Fix typo.
| * | Undo useless diffs.Gravatar Rasmus Munk Larsen2019-01-09
| | |
| * | Simplify a bit.Gravatar Rasmus Munk Larsen2019-01-09
| | |
| * | Add packet up "pones". Write pnot(a) as pxor(pones(a), a).Gravatar Rasmus Munk Larsen2019-01-09
|/ /
* | Merged eigen/eigen into defaultGravatar Rasmus Larsen2019-01-09
|\|
| * bug #1654: fix compilation with cuda and no c++11Gravatar Gael Guennebaud2019-01-09
| |
| * fix plog(+inf) with AVX512Gravatar Gael Guennebaud2019-01-09
| |
| * Add dedicated implementations of predux_any for AVX512, NEON, and Altivec/VSEGravatar Gael Guennebaud2019-01-09
| |
| * fix warningGravatar Gael Guennebaud2019-01-09
| |
| * Add missing pcmp_lt and others for AVX512Gravatar Gael Guennebaud2019-01-09
| |
| * bug #1652: implements a much more accurate version of vectorized sin/cos. ↵Gravatar Gael Guennebaud2019-01-09
| | | | | | | | | | | | | | This new version achieve same speed for SSE/AVX, and is slightly faster with FMA. Guarantees are as follows: - no FMA: 1ULP up to 3pi, 2ULP up to sin(25966) and cos(18838), fallback to std::sin/cos for larger inputs - FMA: 1ULP up to sin(117435.992) and cos(71476.0625), fallback to std::sin/cos for larger inputs
| * Optimize evalShardedByInnerDimGravatar Eugene Zhulenev2019-01-08
| |
* | Add support for pcmp_eq and pnot, including for complex types.Gravatar Rasmus Munk Larsen2019-01-07
|/
* Explicitly set fill character when printing aligned data to ostreamGravatar Eugene Zhulenev2019-01-03
|
* PR560: Fix the AVX512f only buildsGravatar Mark D Ryan2019-01-03
| | | | | | | | | | | | | | | Commit c53eececb0415834b961cb61cd466907261b4b2f introduced AVX512 support for complex numbers but required avx512dq to build. Commit 1d683ae2f5a340a6e2681c8cd0782f4db6b807ea fixed some but not, it would seem all, of the hard avx512dq dependencies. Build failures are still evident on Eigen and TensorFlow when compiling with just avx512f and no avx512dq using gcc 7.3. Looking at the code there does indeed seem to be a problem. Commit c53eececb0415834b961cb61cd466907261b4b2f calls avx512dq intrinsics directly, e.g, _mm512_extractf32x8_ps and _mm512_and_ps. This commit fixes the issue by replacing the direct intrinsic calls with the various wrapper functions that are safe to use on avx512f only builds.
* Fix unit testGravatar Gael Guennebaud2018-12-27
|
* One more stupid AVX 512 fix (I don't have direct access to AVX512 machines)Gravatar Gael Guennebaud2018-12-24
|
* Add EIGEN_STRONG_INLINE where requiredGravatar Gael Guennebaud2018-12-24
|
* Add missing pcmp_lt_or_nan for AVX512Gravatar Gael Guennebaud2018-12-23
|
* Implement a faster fix for sin/cos of large entries that also correctly ↵Gravatar Gael Guennebaud2018-12-23
| | | | handle INF input.
* Make sure that psin/pcos return number in [-1,1] for large inputs (though ↵Gravatar Gael Guennebaud2018-12-23
| | | | sin/cos on large entries is quite useless because it's inaccurate)
* Fix plog(+INF): it returned ~87 instead of +INFGravatar Gael Guennebaud2018-12-23
|
* Make code compile again for older compilers.Gravatar Christoph Hertzberg2018-12-22
| | | | See https://stackoverflow.com/questions/7411515/
* bug #1615: slightly increase the default unrolling limit to compensate for ↵Gravatar Gael Guennebaud2018-12-13
| | | | | | | changeset 101ea26f5e18919972b321b5f7e3ef4e07be3fd6 . This solves a performance regression with clang and 3x3 matrix products.
* add changesets related to matrix product perf.Gravatar Gael Guennebaud2018-12-13
|
* Fix shorten-64-to-32 warning. Use regular memcpy if num_threads==0.Gravatar Rasmus Munk Larsen2018-12-12
|
* Fix compilation with expression template scalar type.Gravatar Gael Guennebaud2018-12-12
|
* Add regression test for bug #1174Gravatar Gael Guennebaud2018-12-12
|
* bug #1557: fix RealSchur and EigenSolver for matrices with only zeros on the ↵Gravatar Gael Guennebaud2018-12-12
| | | | diagonal.
* Simplify handling of tests that must fail to compile.Gravatar Gael Guennebaud2018-12-12
| | | | Each test is now a normal ctest target, and build properties (compiler+flags) are preserved (instead of starting a new build-dir from scratch).
* bug #1644: fix warningGravatar Gael Guennebaud2018-12-11
|
* Artificially increase l1-blocking size for AVX512. +10% speedup with current ↵Gravatar Gael Guennebaud2018-12-11
| | | | | | kernels. With a 6pX4 kernel (not committed yet), this provides a +20% speedup.
* Properly set the number of registers for AVX512Gravatar Gael Guennebaud2018-12-11
|
* bug #1643: fix compilation issue with gcc and no optimizaionGravatar Gael Guennebaud2018-12-11
|
* enable spilling workaround on architectures with SSE/AVXGravatar Gael Guennebaud2018-12-10
|
* Remove debug code.Gravatar Gael Guennebaud2018-12-09
|
* Various fixes in polynomial solver and its unit tests:Gravatar Gael Guennebaud2018-12-09
| | | | | | - cleanup noise in imaginary part of real roots - take into account the magnitude of the derivative to check roots. - use <= instead of < at appropriate places