aboutsummaryrefslogtreecommitdiffhomepage
path: root/unsupported/Eigen/CXX11/Tensor
Commit message (Collapse)AuthorAge
* Simplify TensorRandom and remove time-dependence.Gravatar Antonio Sanchez2021-05-04
| | | | | | | | | | | | | | | | | | | | Time-dependence prevents tests from being repeatable. This has long been an issue with debugging the tensor tests. Removing this will allow future tests to be repeatable in the usual way. Also, the recently added macros in !476 are causing headaches across different platforms. For example, checking `_XOPEN_SOURCE` is leading to multiple ambiguous macro errors across Google, and `_DEFAULT_SOURCE`/`_SVID_SOURCE`/`_BSD_SOURCE` are sometimes defined with values, sometimes defined as empty, and sometimes not defined at all when they probably should be. This is leading to multiple build breakages. The simplest approach is to generate a seed via `Eigen::internal::random<uint64_t>()` if on CPU. For GPU, we use a hash based on the current thread ID (since `rand()` isn't supported on GPU). Fixes #1602.
* Include `<cstdint>` in one place, remove custom typedefsGravatar Antonio Sanchez2021-01-26
| | | | | | | | | | | | | | Originating from [this SO issue](https://stackoverflow.com/questions/65901014/how-to-solve-this-all-error-2-in-this-case), some win32 compilers define `__int32` as a `long`, but MinGW defines `std::int32_t` as an `int`, leading to a type conflict. To avoid this, we remove the custom `typedef` definitions for win32. The Tensor module requires C++11 anyways, so we are guaranteed to have included `<cstdint>` already in `Eigen/Core`. Also re-arranged the headers to only include `<cstdint>` in one place to avoid this type of error again.
* Clean up the Tensor header and get rid of the EIGEN_SLEEP macro.Gravatar Rasmus Munk Larsen2020-12-02
|
* Remove V2 suffix from TensorBlockGravatar Eugene Zhulenev2019-12-10
|
* Remove TensorBlock.h and old TensorBlock/BlockMapperGravatar Eugene Zhulenev2019-12-10
|
* [SYCL] Rebasing the SYCL support branch on top of the Einge upstream master ↵Gravatar Mehdi Goli2019-11-28
| | | | | | | | | | | | | | | | | | | | | | branch. * Unifying all loadLocalTile from lhs and rhs to an extract_block function. * Adding get_tensor operation which was missing in TensorContractionMapper. * Adding the -D method missing from cmake for Disable_Skinny Contraction operation. * Wrapping all the indices in TensorScanSycl into Scan parameter struct. * Fixing typo in Device SYCL * Unifying load to private register for tall/skinny no shared * Unifying load to vector tile for tensor-vector/vector-tensor operation * Removing all the LHS/RHS class for extracting data from global * Removing Outputfunction from TensorContractionSkinnyNoshared. * Combining the local memory version of tall/skinny and normal tensor contraction into one kernel. * Combining the no-local memory version of tall/skinny and normal tensor contraction into one kernel. * Combining General Tensor-Vector and VectorTensor contraction into one kernel. * Making double buffering optional for Tensor contraction when local memory is version is used. * Modifying benchmark to accept custom Reduction Sizes * Disabling AVX optimization for SYCL backend on the host to allow SSE optimization to the host * Adding Test for SYCL * Modifying SYCL CMake
* Cleanup includes in Tensor module after switch to C++11 and aboveGravatar Eugene Zhulenev2019-10-29
|
* Drop support for c++03 in Eigen tensor. Get rid of some code used to emulate ↵Gravatar Rasmus Munk Larsen2019-10-18
| | | | c++11 functionality with older compilers.
* Tensor block evaluation V2 support for unary/binary/broadcstingGravatar Eugene Zhulenev2019-09-24
|
* Remove XSMM support from Tensor moduleGravatar Eugene Zhulenev2019-08-19
|
* Fix GPU build due to gpu_assert not always being defined.Gravatar Rasmus Munk Larsen2018-10-18
|
* Fix a lot of Doxygen warnings in Tensor moduleGravatar Christoph Hertzberg2018-10-09
|
* Remove explicit mkldnn support and redundant TensorContractionKernelBlockingGravatar Eugene Zhulenev2018-09-27
|
* Support multiple contraction kernel types in TensorContractionThreadPoolGravatar Eugene Zhulenev2018-09-26
|
* bug #1596: fix inclusion of Eigen's header within unsupported modules.Gravatar Gael Guennebaud2018-09-17
|
* Fix numerous shadow-warnings for GCC<=4.8Gravatar Christoph Hertzberg2018-08-28
|
* Add tiled evaluation support to TensorExecutorGravatar Eugene Zhulenev2018-07-25
|
* Initial support of TensorBlockGravatar Eugene Zhulenev2018-07-20
|
* merging the CUDA and HIP implementation for the Tensor directory and the ↵Gravatar Deven Desai2018-06-20
| | | | unit tests
* Adding support for using Eigen in HIP kernels.Gravatar Deven Desai2018-06-06
| | | | | | | | | This commit enables the use of Eigen on HIP kernels / AMD GPUs. Support has been added along the same lines as what already exists for using Eigen in CUDA kernels / NVidia GPUs. Application code needs to explicitly define EIGEN_USE_HIP when using Eigen in HIP kernels. This is because some of the CUDA headers get picked up by default during Eigen compile (irrespective of whether or not the underlying compiler is CUDACC/NVCC, for e.g. Eigen/src/Core/arch/CUDA/Half.h). In order to maintain this behavior, the EIGEN_USE_HIP macro is used to switch to using the HIP version of those header files (see Eigen/Core and unsupported/Eigen/CXX11/Tensor) Use the "-DEIGEN_TEST_HIP" cmake option to enable the HIP specific unit tests.
* Merged in tntnatbry/eigen (pull request PR-319)Gravatar Benoit Steiner2017-07-07
| | | | Tensor Trace op
* Add support for triSYCLGravatar a-doumoulakis2017-05-05
| | | | | | Eigen is now able to use triSYCL with EIGEN_SYCL_TRISYCL and TRISYCL_INCLUDE_DIR options Fix contraction kernel with correct nd_item dimension
* Leverage libxsmm kernels within signle threaded contractionsGravatar Benoit Steiner2016-12-21
|
* Introduce a portable EIGEN_SLEEP macro.Gravatar Benoit Steiner2016-12-09
|
* Simplified includesGravatar Benoit Steiner2016-11-30
|
* Fixing LLVM error on TensorMorphingSycl.h on GPU; fixing int64_t crash for ↵Gravatar Mehdi Goli2016-11-25
| | | | tensor_broadcast_sycl on GPU; adding get_sycl_supported_devices() on syclDevice.h.
* Added missing includeGravatar Benoit Steiner2016-11-19
|
* Specialised basic math functions for SYCL device.Gravatar Luke Iwanski2016-11-17
|
* Added missing includesGravatar Benoit Steiner2016-11-05
|
* Removed the sycl include from Eigen/Core and moved it to ↵Gravatar Mehdi Goli2016-11-04
| | | | Unsupported/Eigen/CXX11/Tensor; added TensorReduction for sycl (full reduction and partial reduction); added TensorReduction test case for sycl (full reduction and partial reduction); fixed the tile size on TensorSyclRun.h based on the device max work group size;
* Added SYCL include in Tensor.Gravatar Luke Iwanski2016-10-20
|
* Merged eigen/eigen into defaultGravatar Benoit Steiner2016-10-12
|\
| * Manually define int16_t and uint16_t when compiling with Visual StudioGravatar Benoit Steiner2016-10-08
| |
* | Pull the latest updates from trunkGravatar Benoit Steiner2016-10-05
|\|
| * Cleaned up the random number generation code.Gravatar Benoit Steiner2016-10-04
| |
| * Made the initialization of a CUDA device thread safe.Gravatar Benoit Steiner2016-09-26
| |
* | Partial OpenCL support via SYCL compatible with ComputeCpp CE.Gravatar Luke Iwanski2016-09-19
|/
* bug #1232: refactor special functions as a new SpecialFunctions module, ↵Gravatar Gael Guennebaud2016-07-08
| | | | currently in unsupported/.
* Add TernaryFunctors and the betainc SpecialFunction.Gravatar Eugene Brevdo2016-06-02
| | | | | | | | | | | | | | | | | | | TernaryFunctors and their executors allow operations on 3-tuples of inputs. API fully implemented for Arrays and Tensors based on binary functors. Ported the cephes betainc function (regularized incomplete beta integral) to Eigen, with support for CPU and GPU, floats, doubles, and half types. Added unit tests in array.cpp and cxx11_tensor_cuda.cu Collapsed revision * Merged helper methods for betainc across floats and doubles. * Added TensorGlobalFunctions with betainc(). Removed betainc() from TensorBase. * Clean up CwiseTernaryOp checks, change igamma_helper to cephes_helper. * betainc: merge incbcf and incbd into incbeta_cfe. and more cleanup. * Update TernaryOp and SpecialFunctions (betainc) based on review comments.
* Add tensor scan opGravatar Igor Babuschkin2016-06-02
| | | | | This is the initial implementation a generic scan operation. Based on this, cumsum and cumprod method have been added to TensorBase.
* Roll back changes to core. Move include of TensorFunctors.h up to satisfy ↵Gravatar Rasmus Munk Larsen2016-05-17
| | | | dependence in TensorCostModel.h.
* Improvements to parallelFor.Gravatar Rasmus Munk Larsen2016-05-12
| | | | Move some scalar functors from TensorFunctors. to Eigen core.
* Fix missing inclusion of Eigen/CoreGravatar Gael Guennebaud2016-04-27
|
* Refactor the unsupported CXX11/Core module to internal headers only.Gravatar Gael Guennebaud2016-04-26
|
* Merged in rmlarsen/eigen (pull request PR-177)Gravatar Benoit Steiner2016-04-14
|\ | | | | | | Eigen Tensor cost model part 1.
* | Prepared the migration to the new non blocking thread poolGravatar Benoit Steiner2016-04-14
| |
| * Eigen cost model part 1. This implements a basic recursive framework to ↵Gravatar Rasmus Munk Larsen2016-04-14
|/ | | | estimate the cost of evaluating tensor expressions.
* Use a single Barrier instead of a collection of Notifications to reduce the ↵Gravatar Benoit Steiner2016-03-22
| | | | thread synchronization overhead
* Made sure to include the <random> header file when compiling with visual studioGravatar Benoit Steiner2016-03-09
|
* include <iostream> in the tensor header since we now use it to better report ↵Gravatar Benoit Steiner2016-02-22
| | | | cuda initialization errors