aboutsummaryrefslogtreecommitdiffhomepage
path: root/unsupported/Eigen/CXX11/src
Commit message (Collapse)AuthorAge
* Fix specialization for conjugate on non-complex types in TensorBase.h.Gravatar Rasmus Munk Larsen2019-03-01
|
* Improve EventCount used by the non-blocking threadpool.Gravatar Rasmus Munk Larsen2019-02-22
| | | | | | | | | | The current algorithm requires threads to commit/cancel waiting in order they called Prewait. Spinning caused by that serialization can consume lots of CPU time on some workloads. Restructure the algorithm to not require that serialization and remove spin waits from Commit/CancelWait. Note: this reduces max number of threads from 2^16 to 2^14 to leave more space for ABA counter (which is now 22 bits). Implementation details are explained in comments.
* Fix incorrect value of NumDimensions in TensorContraction traits.Gravatar Rasmus Munk Larsen2019-02-19
| | | | Reported here: #1671
* Merged in ezhulenev/eigen-01 (pull request PR-590)Gravatar Rasmus Larsen2019-02-14
|\ | | | | | | Do not generate no-op cast() and conjugate() expressions
* | Fix signed-unsigned return in RuqQueueGravatar Eugene Zhulenev2019-02-14
| |
* | Fix signed-unsigned comparison warning in RunQueueGravatar Eugene Zhulenev2019-02-14
| |
| * Do not generate no-op cast() and conjugate() expressionsGravatar Eugene Zhulenev2019-02-14
|/
* Speedup Tensor ThreadPool RunQueu::Empty()Gravatar Eugene Zhulenev2019-02-13
|
* Add PacketConv implementation for non-vectorizable src expressionsGravatar Eugene Zhulenev2019-02-08
|
* Optimize TensorConversion evaluator: do not convert same typeGravatar Eugene Zhulenev2019-02-08
|
* Don't do parallel_pack if we can use thread_local memory in tensor contractionsGravatar Eugene Zhulenev2019-02-07
|
* Do not reduce parallelism too much in contractions with small number of threadsGravatar Eugene Zhulenev2019-02-04
|
* Parallelize tensor contraction only by sharding dimension and use ↵Gravatar Eugene Zhulenev2019-02-04
| | | | 'thread-local' memory for packing
* Workaround lack of support for arbitrary packet-type in Tensor by manually ↵Gravatar Gael Guennebaud2019-01-30
| | | | loading half/quarter packets in tensor contraction mapper.
* Hide some annoying unused variable warnings in g++8.1Gravatar Christoph Hertzberg2019-01-29
|
* Renaming even more `I` identifiersGravatar Christoph Hertzberg2019-01-26
|
* Avoid `I` as an identifier, since it may clash with the C-header complex.hGravatar Christoph Hertzberg2019-01-25
|
* Fix shorten-64-to-32 warning in TensorContractionThreadPoolGravatar Eugene Zhulenev2019-01-11
|
* Fix shorten-64-to-32 warning in TensorContractionThreadPoolGravatar Eugene Zhulenev2019-01-10
|
* bug #1654: fix compilation with cuda and no c++11Gravatar Gael Guennebaud2019-01-09
|
* Optimize evalShardedByInnerDimGravatar Eugene Zhulenev2019-01-08
|
* Fix shorten-64-to-32 warning. Use regular memcpy if num_threads==0.Gravatar Rasmus Munk Larsen2018-12-12
|
* Merged in markdryan/eigen/avx512-contraction-2 (pull request PR-554)Gravatar Rasmus Munk Larsen2018-12-05
|\ | | | | | | | | | | Fix tensor contraction on AVX512 builds Approved-by: Rasmus Munk Larsen <rmlarsen@google.com>
| * Fix evalShardedByInnerDim for AVX512 buildsGravatar Mark D Ryan2018-12-05
| | | | | | | | | | | | | | | | | | | | | | | | evalShardedByInnerDim ensures that the values it passes for start_k and end_k to evalGemmPartialWithoutOutputKernel are multiples of 8 as the kernel does not work correctly when the values of k are not multiples of the packet_size. While this precaution works for AVX builds, it is insufficient for AVX512 builds where the maximum packet size is 16. The result is slightly incorrect float32 contractions on AVX512 builds. This commit fixes the problem by ensuring that k is always a multiple of the packet_size if the packet_size is > 8.
* | 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.
* A few small fixes to a) prevent throwing in ctors and dtors of the threading ↵Gravatar Rasmus Munk Larsen2018-11-09
| | | | code, and b) supporting matrix exponential on platforms with 113 bits of mantissa for long doubles.
* Fix most Doxygen warnings. Also add links to stable documentation from ↵Gravatar Christoph Hertzberg2018-10-19
| | | | | | | unsupported modules (by using the corresponding Doxytags file). Manually grafted from d107a371c61b764c73fd1570b1f3ed1c6400dd7e
* Move from rvalue arguments in ThreadPool enqueue* methodsGravatar Eugene Zhulenev2018-10-16
|
* Reduce thread scheduling overhead in parallelForGravatar Eugene Zhulenev2018-10-16
|
* Check if it's allowed to squueze inner dimensions in TensorBlockIOGravatar Eugene Zhulenev2018-10-15
|
* Fix a lot of Doxygen warnings in Tensor moduleGravatar Christoph Hertzberg2018-10-09
|
* Fix out-of bounds access in TensorArgMax.h.Gravatar Rasmus Munk Larsen2018-10-08
|
* Workaround stupid warningGravatar Gael Guennebaud2018-10-08
|
* Move struct outside of method for C++03 compatibility.Gravatar Christoph Hertzberg2018-10-02
|
* Make code compile in C++03 mode againGravatar Christoph Hertzberg2018-10-02
|
* Fix conversion warning ... againGravatar Christoph Hertzberg2018-10-02
|
* Merged in deven-amd/eigen/HIP_fixes (pull request PR-518)Gravatar Christoph Hertzberg2018-10-01
|\ | | | | | | PR with HIP specific fixes (for the eigen nightly regression failures in HIP mode)
| * This commit contains the following (HIP specific) updates:Gravatar Deven Desai2018-10-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h Changing "pass-by-reference" argument to be "pass-by-value" instead (in a __global__ function decl). "pass-by-reference" arguments to __global__ functions are unwise, and will be explicitly flagged as errors by the newer versions of HIP. - Eigen/src/Core/util/Memory.h - unsupported/Eigen/CXX11/src/Tensor/TensorContraction.h Changes introduced in recent commits breaks the HIP compile. Adding EIGEN_DEVICE_FUNC attribute to some functions and calling ::malloc/free instead of the corresponding std:: versions to get the HIP compile working again - unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h Change introduced a recent commit breaks the HIP compile (link stage errors out due to failure to inline a function). Disabling the recently introduced code (only for HIP compile), to get the eigen nightly testing going again. Will submit another PR once we have te proper fix. - Eigen/src/Core/util/ConfigureVectorization.h Enabling GPU VECTOR support when HIP compiler is in use (for both the host and device compile phases)
* | Merged eigen/eigen into defaultGravatar Rasmus Munk Larsen2018-09-28
|\ \
* | | Get rid of unused variable warning.Gravatar Rasmus Munk Larsen2018-09-28
| | |
| * | Fix bug in copy optimization in Tensor slicing.Gravatar Eugene Zhulenev2018-09-28
|/ /
* | Fix a few warnings and rename a variable to not shadow "last".Gravatar Rasmus Munk Larsen2018-09-28
| |
* | Merged in ezhulenev/eigen-01 (pull request PR-514)Gravatar Rasmus Munk Larsen2018-09-28
|\ \ | | | | | | | | | Add tests for evalShardedByInnerDim contraction + fix bugs
| * | Add tests for evalShardedByInnerDim contraction + fix bugsGravatar Eugene Zhulenev2018-09-28
| |/
* | Fix integer conversion warningsGravatar Christoph Hertzberg2018-09-28
| |
* | Provide EIGEN_OVERRIDE and EIGEN_FINAL macros to mark virtual function overridesGravatar Christoph Hertzberg2018-09-24
|/