Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Merge. | Rasmus Munk Larsen | 2019-01-11 |
|\ | |||
| * | Merged eigen/eigen into default | Rasmus Larsen | 2019-01-11 |
| |\ | |||
* | \ | Merge. | Rasmus Munk Larsen | 2019-01-11 |
|\ \ \ | |||
| | | * | Remove reinterpret_cast from AVX512 complex implementation | Mark D Ryan | 2019-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 enabled | Christoph Hertzberg | 2019-01-11 |
| | | | | |||
| | | * | Fix shorten-64-to-32 warning in TensorContractionThreadPool | Eugene Zhulenev | 2019-01-10 |
| | | | | |||
* | | | | Rename pones -> ptrue. Use _CMP_TRUE_UQ where appropriate. | Rasmus Munk Larsen | 2019-01-09 |
|\ \ \ \ | |||
| | * | | | merge. | Rasmus Munk Larsen | 2019-01-09 |
| |/| | | |/|/ / / | |||
* | | | | merge | Rasmus Munk Larsen | 2019-01-09 |
|\ \ \ \ | |||
| | | * | | Collapsed revision | Rasmus Munk Larsen | 2019-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. | Rasmus Munk Larsen | 2019-01-09 |
| | | | | | |||
* | | | | | Collapsed revision | Rasmus Munk Larsen | 2019-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 revision | Rasmus Munk Larsen | 2019-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 revision | Rasmus Munk Larsen | 2019-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. | Rasmus Munk Larsen | 2019-01-09 |
| | | | |||
| * | | Simplify a bit. | Rasmus Munk Larsen | 2019-01-09 |
| | | | |||
| * | | Add packet up "pones". Write pnot(a) as pxor(pones(a), a). | Rasmus Munk Larsen | 2019-01-09 |
|/ / | |||
* | | Merged eigen/eigen into default | Rasmus Larsen | 2019-01-09 |
|\| | |||
| * | bug #1654: fix compilation with cuda and no c++11 | Gael Guennebaud | 2019-01-09 |
| | | |||
| * | fix plog(+inf) with AVX512 | Gael Guennebaud | 2019-01-09 |
| | | |||
| * | Add dedicated implementations of predux_any for AVX512, NEON, and Altivec/VSE | Gael Guennebaud | 2019-01-09 |
| | | |||
| * | fix warning | Gael Guennebaud | 2019-01-09 |
| | | |||
| * | Add missing pcmp_lt and others for AVX512 | Gael Guennebaud | 2019-01-09 |
| | | |||
| * | bug #1652: implements a much more accurate version of vectorized sin/cos. ↵ | Gael Guennebaud | 2019-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 evalShardedByInnerDim | Eugene Zhulenev | 2019-01-08 |
| | | |||
* | | Add support for pcmp_eq and pnot, including for complex types. | Rasmus Munk Larsen | 2019-01-07 |
|/ | |||
* | Explicitly set fill character when printing aligned data to ostream | Eugene Zhulenev | 2019-01-03 |
| | |||
* | PR560: Fix the AVX512f only builds | Mark D Ryan | 2019-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 test | Gael Guennebaud | 2018-12-27 |
| | |||
* | One more stupid AVX 512 fix (I don't have direct access to AVX512 machines) | Gael Guennebaud | 2018-12-24 |
| | |||
* | Add EIGEN_STRONG_INLINE where required | Gael Guennebaud | 2018-12-24 |
| | |||
* | Add missing pcmp_lt_or_nan for AVX512 | Gael Guennebaud | 2018-12-23 |
| | |||
* | Implement a faster fix for sin/cos of large entries that also correctly ↵ | Gael Guennebaud | 2018-12-23 |
| | | | | handle INF input. | ||
* | Make sure that psin/pcos return number in [-1,1] for large inputs (though ↵ | Gael Guennebaud | 2018-12-23 |
| | | | | sin/cos on large entries is quite useless because it's inaccurate) | ||
* | Fix plog(+INF): it returned ~87 instead of +INF | Gael Guennebaud | 2018-12-23 |
| | |||
* | Make code compile again for older compilers. | Christoph Hertzberg | 2018-12-22 |
| | | | | See https://stackoverflow.com/questions/7411515/ | ||
* | bug #1615: slightly increase the default unrolling limit to compensate for ↵ | Gael Guennebaud | 2018-12-13 |
| | | | | | | | changeset 101ea26f5e18919972b321b5f7e3ef4e07be3fd6 . This solves a performance regression with clang and 3x3 matrix products. | ||
* | add changesets related to matrix product perf. | Gael Guennebaud | 2018-12-13 |
| | |||
* | Fix shorten-64-to-32 warning. Use regular memcpy if num_threads==0. | Rasmus Munk Larsen | 2018-12-12 |
| | |||
* | Fix compilation with expression template scalar type. | Gael Guennebaud | 2018-12-12 |
| | |||
* | Add regression test for bug #1174 | Gael Guennebaud | 2018-12-12 |
| | |||
* | bug #1557: fix RealSchur and EigenSolver for matrices with only zeros on the ↵ | Gael Guennebaud | 2018-12-12 |
| | | | | diagonal. | ||
* | Simplify handling of tests that must fail to compile. | Gael Guennebaud | 2018-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 warning | Gael Guennebaud | 2018-12-11 |
| | |||
* | Artificially increase l1-blocking size for AVX512. +10% speedup with current ↵ | Gael Guennebaud | 2018-12-11 |
| | | | | | | kernels. With a 6pX4 kernel (not committed yet), this provides a +20% speedup. | ||
* | Properly set the number of registers for AVX512 | Gael Guennebaud | 2018-12-11 |
| | |||
* | bug #1643: fix compilation issue with gcc and no optimizaion | Gael Guennebaud | 2018-12-11 |
| | |||
* | enable spilling workaround on architectures with SSE/AVX | Gael Guennebaud | 2018-12-10 |
| | |||
* | Remove debug code. | Gael Guennebaud | 2018-12-09 |
| | |||
* | Various fixes in polynomial solver and its unit tests: | Gael Guennebaud | 2018-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 |