aboutsummaryrefslogtreecommitdiffhomepage
path: root/unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h
Commit message (Collapse)AuthorAge
* Fix rule-of-3 for the Tensor module.Gravatar Antonio Sanchez2020-11-18
| | | | | | | Adds copy constructors to Tensor ops, inherits assignment operators from `TensorBase`. Addresses #1863
* remove duplicate pset1 for half and add some comments about why we need ↵Gravatar Sami Kama2020-03-10
| | | | expose pmul/add/div/min/max on host
* [SYCL] This PR adds the minimum modifications to the Eigen unsupported ↵Gravatar Mehdi Goli2019-06-28
| | | | | | | | | | module required to run it on devices supporting SYCL. * Abstracting the pointer type so that both SYCL memory and pointer can be captured. * Converting SYCL virtual pointer to SYCL device memory in Eigen evaluator class. * Binding SYCL placeholder accessor to command group handler by using bind method in Eigen evaluator node. * Adding SYCL macro for controlling loop unrolling. * Modifying the TensorDeviceSycl.h and SYCL executor method to adopt the above changes.
* updates based on PR feedbackGravatar Deven Desai2018-06-14
| | | | | | | | | | | | | | | | | There are two major changes (and a few minor ones which are not listed here...see PR discussion for details) 1. Eigen::half implementations for HIP and CUDA have been merged. This means that - `CUDA/Half.h` and `HIP/hcc/Half.h` got merged to a new file `GPU/Half.h` - `CUDA/PacketMathHalf.h` and `HIP/hcc/PacketMathHalf.h` got merged to a new file `GPU/PacketMathHalf.h` - `CUDA/TypeCasting.h` and `HIP/hcc/TypeCasting.h` got merged to a new file `GPU/TypeCasting.h` After this change the `HIP/hcc` directory only contains one file `math_constants.h`. That will go away too once that file becomes a part of the HIP install. 2. new macros EIGEN_GPUCC, EIGEN_GPU_COMPILE_PHASE and EIGEN_HAS_GPU_FP16 have been added and the code has been updated to use them where appropriate. - `EIGEN_GPUCC` is the same as `(EIGEN_CUDACC || EIGEN_HIPCC)` - `EIGEN_GPU_DEVICE_COMPILE` is the same as `(EIGEN_CUDA_ARCH || EIGEN_HIP_DEVICE_COMPILE)` - `EIGEN_HAS_GPU_FP16` is the same as `(EIGEN_HAS_CUDA_FP16 or EIGEN_HAS_HIP_FP16)`
* 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.
* Add a EIGEN_NO_CUDA option, and introduce EIGEN_CUDACC and EIGEN_CUDA_ARCH ↵Gravatar Gael Guennebaud2017-07-17
| | | | aliases
* Adding TensorIndexTuple and TensorTupleReduceOP backend (ArgMax/Min) for ↵Gravatar Mehdi Goli2017-03-07
| | | | sycl; fixing the address space issue for const TensorMap; converting all discard_write to write due to data missmatch.
* Added support for expm1 in Eigen.Gravatar Srinivas Vasudevan2016-12-02
|
* Adding TensorShuffling backend for sycl; adding TensorReshaping backend for ↵Gravatar Mehdi Goli2016-11-29
| | | | sycl; cleaning up the sycl backend.
* Disable vectorization on device only when compiling for syclGravatar Benoit Steiner2016-11-02
|
* Don't refer to the half2 type unless it's been definedGravatar Benoit Steiner2016-06-10
|
* Simplified the code that dispatches vectorized reductions on GPUGravatar Benoit Steiner2016-06-09
|
* Improved support for vectorization of 16-bit floatsGravatar Benoit Steiner2016-06-09
|
* Made the IndexPair code compile in non cxx11 modeGravatar Benoit Steiner2016-05-25
|
* Added support for statically known lists of pairs of indicesGravatar Benoit Steiner2016-05-25
|
* Don't crash when attempting to reduce empty tensors.Gravatar Benoit Steiner2016-04-20
|
* Use an enum instead of a static const int to prevent possible link errorGravatar Benoit Steiner2016-03-22
|
* Added a 'divup' util to compute the floor of the quotient of two integersGravatar Benoit Steiner2016-01-04
|
* Fixed a clang compilation warning triggered by the use of arrays of size 0.Gravatar Benoit Steiner2015-12-17
|
* gen_numeric_list takes a size_t, not a intGravatar Benoit Steiner2015-11-12
|
* Added mapping between a specific device and the corresponding packet typeGravatar Benoit Steiner2015-10-22
|
* Updated the custom indexing code: we can now use any container that provides ↵Gravatar Benoit Steiner2015-10-15
| | | | the [] operator to index a tensor. Added unit tests to validate the use of std::map and a few more types as valid custom index containers
* Tightened the definition of isOfNormalIndex to take into account integer ↵Gravatar Benoit Steiner2015-10-14
| | | | | | | types in addition to arrays of indices Only compile the custom index code when EIGEN_HAS_SFINAE is defined. For the time beeing, EIGEN_HAS_SFINAE is a synonym for EIGEN_HAS_VARIADIC_TEMPLATES, but this might evolve in the future. Moved some code around.
* name changes 2Gravatar Gabriel Nützi2015-10-09
| | | | | | | user: Gabriel Nützi <gnuetzi@gmx.ch> branch 'default' changed unsupported/Eigen/CXX11/src/Tensor/Tensor.h changed unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h
* added CustomIndex capability only to Tensor and not yet to TensorBase.Gravatar Gabriel Nützi2015-10-09
| | | | | | | | | | | | | | using Sfinae and is_base_of to select correct template which converts to array<Index,NumIndices> user: Gabriel Nützi <gnuetzi@gmx.ch> branch 'default' added unsupported/Eigen/CXX11/src/Tensor/TensorMetaMacros.h added unsupported/test/cxx11_tensor_customIndex.cpp changed unsupported/Eigen/CXX11/Tensor changed unsupported/Eigen/CXX11/src/Tensor/Tensor.h changed unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h changed unsupported/test/CMakeLists.txt
* Added support for argmax/argminGravatar Benoit Steiner2015-08-31
|
* Moved some utilities to TensorMeta.h to make it easier to reuse them accross ↵Gravatar Benoit Steiner2015-06-29
several tensor operations. Created the TensorDimensionList class to encode the list of all the dimensions of a tensor of rank n. This could be done using TensorIndexList, however TensorIndexList require cxx11 which isn't yet supported as widely as we'd like.