aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
...
* | same for pmaxGravatar Gael Guennebaud2018-11-28
| |
* | pmin/pmax o SSE: make sure to use AVX instruction with AVX enabled, and ↵Gravatar Gael Guennebaud2018-11-28
| | | | | | | | disable gcc workaround for fixed gcc versions
* | Add missing SSE/AVX type-casting in AVX512 modeGravatar Gael Guennebaud2018-11-28
| |
* | bug #1630: fix linspaced when requesting smaller packet size than default one.Gravatar Gael Guennebaud2018-11-28
| |
* | Use explicit packet type in SSE/PacketMath pldexpGravatar Eugene Zhulenev2018-11-27
| |
* | do not read buffers out of bounds -- load only the 4 bytes we know exist ↵Gravatar Benoit Jacob2018-11-27
| | | | | | | | here. Could also have done a vld1_lane_f32 but doing so here, without the overhead of initializing the unused lane, would have triggered used-of-uninitialized-value errors in tools such as ASan. Note that this code is sub-optimal before or after this change: we should be reading either 2 or 4 float32 values per load-instruction (2 for ARM in-order cores with an affinity for 8-byte loads; 4 for ARM out-of-order cores able to dual-issue 16-byte load instructions with arithmetic instructions). Before or after this patch, we are only loading 4 bytes of useful data here (even if before this patch, we were technically loading 8, only to use only the 4 first).
* | bug #1631: fix compilation with ARM NEON and clang, and cleanup the weird ↵Gravatar Gael Guennebaud2018-11-27
| | | | | | | | pshiftright_and_cast and pcast_and_shiftleft functions.
* | Update pshiftleft to pass the shift as a true compile-time integer.Gravatar Gael Guennebaud2018-11-27
| |
* | Unify SSE/AVX psin functions.Gravatar Gael Guennebaud2018-11-27
| | | | | | | | | | | | | | | | It is based on the SSE version which is much more accurate, though very slightly slower. This changeset also includes the following required changes: - add packet-float to packet-int type traits - add packet float<->int reinterpret casts - add faster pselect for AVX based on blendv
* | Merged in bjacob/eigen/fixbuild (pull request PR-549)Gravatar Rasmus Munk Larsen2018-11-27
|\ \ | | | | | | | | | fix the build on 64-bit ARM when NEON is disabled
| * | fix the build on 64-bit ARM when NEON is disabledGravatar Benoit Jacob2018-11-27
|/ /
* | Unify Altivec/VSX pexp(double) with default implementationGravatar Gael Guennebaud2018-11-27
| |
* | cleanupGravatar Gael Guennebaud2018-11-26
| |
* | Unify SSE and AVX pexp for double.Gravatar Gael Guennebaud2018-11-26
| |
* | Unify NEON's pexp with generic implementationGravatar Gael Guennebaud2018-11-26
| |
* | Unify Altivec/VSX's pexp with generic implementationGravatar Gael Guennebaud2018-11-26
| |
* | Unify SSE and AVX implementation of pexpGravatar Gael Guennebaud2018-11-26
| |
* | Unify Altivec/VSX's plog with generic implementation, and enable it!Gravatar Gael Guennebaud2018-11-26
| |
* | Unify NEON's plog with generic implementationGravatar Gael Guennebaud2018-11-26
| |
* | First step toward a unification of packet log implementation, currently only ↵Gravatar Gael Guennebaud2018-11-26
| | | | | | | | | | | | SSE and AVX are unified. To this end, I added the following functions: pzero, pcmp_*, pfrexp, pset1frombits functions.
* | Make SSE/AVX pandnot(A,B) consistent with generic version, i.e., "A and not B"Gravatar Gael Guennebaud2018-11-26
| |
* | Extend unit test to recursively check half-packet types and non packet typesGravatar Gael Guennebaud2018-11-26
| |
* | bug #1611: fix plog(0) on NEONGravatar Gael Guennebaud2018-11-26
| |
* | Fix typosGravatar Patrik Huber2018-11-23
| |
* | mergeGravatar Gael Guennebaud2018-11-23
|\ \
* | | Fix reserved usage of double __ in macro namesGravatar Gael Guennebaud2018-11-23
| | |
* | | check two ctorsGravatar Gael Guennebaud2018-11-23
| | |
* | | Fix double = bool !Gravatar Gael Guennebaud2018-11-23
| | |
* | | Fix several uninitialized member from ctorGravatar Gael Guennebaud2018-11-23
| | |
| * | Add default constructor to Bar to make test compile again with clang-3.8Gravatar Christoph Hertzberg2018-11-23
| | |
| * | Small typo found be Patrick Huber (pull request PR-547)Gravatar Christoph Hertzberg2018-11-23
|/ /
* | bug #1624: improve matrix-matrix product on ARM 64, 20% speedupGravatar Gael Guennebaud2018-11-23
| |
* | Move regression test to right unit test fileGravatar Gael Guennebaud2018-11-21
| |
* | Workaround weird MSVC bugGravatar Gael Guennebaud2018-11-21
| |
* | Fixed most conversion warnings in MatrixFunctions moduleGravatar Christoph Hertzberg2018-11-20
| |
* | Make MaxPacketSize a true upper bound, even for fixed-size inputsGravatar Gael Guennebaud2018-11-16
| |
* | Add explicit regression test for bug #1622Gravatar Gael Guennebaud2018-11-16
| |
* | PR 544: Set requestedAlignment correctly for SliceVectorizedTraversalsGravatar Mark D Ryan2018-11-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit aa110e681b8b2237757a652ba47da49e1fbd2cd6 optimised the multiplication of small dyanmically sized matrices by restricting the packet size to a maximum of 4, increasing the chances that SIMD instructions are used in the computation. However, it introduced a mismatch between the packet size and the requestedAlignment. This mismatch can lead to crashes when the destination is not aligned. This patch fixes the issue by ensuring that the AssignmentTraits are correctly computed when using a restricted packet size. * * * Bind LinearPacketType to MaxPacketSize This commit applies any packet size limit specified when instantiating copy_using_evaluator_traits to the LinearPacketType, providing that the size of the destination is not known at compile time. * * * Add unit test for restricted packet assignment A new unit test is added to check that multiplication of small dynamically sized matrices works correctly when the packet size is restricted to 4 and the destination is unaligned.
* | Fix typo in comment on EIGEN_MAX_STATIC_ALIGN_BYTESGravatar Nikolaus Demmel2018-11-14
| |
* | typoGravatar Gael Guennebaud2018-11-14
| |
* | help doxygen linking to DenseBase::NulllaryExprGravatar Gael Guennebaud2018-11-14
| |
* | Improve doc on multi-threading and warn about hyper-threadingGravatar Gael Guennebaud2018-11-14
| |
* | doxygen does not like \addtogroup and \ingroup in the same lineGravatar Gael Guennebaud2018-11-14
| |
* | Merged in rmlarsen/eigen2 (pull request PR-543)Gravatar Rasmus Munk Larsen2018-11-13
|\ \ | | | | | | | | | | | | | | | Add parallel memcpy to TensorThreadPoolDevice in Eigen, but limit the number of threads to 4, beyond which we just seem to be wasting CPU cycles as the threads contend for memory bandwidth. Approved-by: Eugene Zhulenev <ezhulenev@google.com>
| * | Remove accidental changes.Gravatar Rasmus Munk Larsen2018-11-12
| | |
| * | Add parallel memcpy to TensorThreadPoolDevice in Eigen, but limit the number ↵Gravatar Rasmus Munk Larsen2018-11-12
| | | | | | | | | | | | of threads to 4, beyond which we just seem to be wasting CPU cycles as the threads contend for memory bandwidth.
* | | [PATCH 1/2] Misc. typosGravatar luz.paz"2018-09-18
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From 68d431b4c14ad60a778ee93c1f59ecc4b931950e Mon Sep 17 00:00:00 2001 Found via `codespell -q 3 -I ../eigen-word-whitelist.txt` where the whitelists consists of: ``` als ans cas dum lastr lowd nd overfl pres preverse substraction te uint whch ``` --- CMakeLists.txt | 26 +++++++++---------- Eigen/src/Core/GenericPacketMath.h | 2 +- Eigen/src/SparseLU/SparseLU.h | 2 +- bench/bench_norm.cpp | 2 +- doc/HiPerformance.dox | 2 +- doc/QuickStartGuide.dox | 2 +- .../Eigen/CXX11/src/Tensor/TensorChipping.h | 6 ++--- .../Eigen/CXX11/src/Tensor/TensorDeviceGpu.h | 2 +- .../src/Tensor/TensorForwardDeclarations.h | 4 +-- .../src/Tensor/TensorGpuHipCudaDefines.h | 2 +- .../Eigen/CXX11/src/Tensor/TensorReduction.h | 2 +- .../CXX11/src/Tensor/TensorReductionGpu.h | 2 +- .../test/cxx11_tensor_concatenation.cpp | 2 +- unsupported/test/cxx11_tensor_executor.cpp | 2 +- 14 files changed, 29 insertions(+), 29 deletions(-)
| * Fix tensor contraction for AVX512 machinesGravatar Mark D Ryan2018-07-31
|/ | | | | | | | | This patch modifies the TensorContraction class to ensure that the kc_ field is always a multiple of the packet_size, if the packet_size is > 8. Without this change spatial convolutions in Tensorflow do not work properly as the code that re-arranges the input matrices can assert if kc_ is not a multiple of the packet_size. This leads to a unit test failure, //tensorflow/python/kernel_tests:conv_ops_test, on AVX512 builds of tensorflow.
* Add optimized version of logistic function for float. As an example, this is ↵Gravatar Rasmus Munk Larsen2018-11-12
| | | | about 50% faster than the existing version on Haswell using AVX.
* Add manual doc on STL-compatible iteratorsGravatar Gael Guennebaud2018-11-12
|