aboutsummaryrefslogtreecommitdiffhomepage
path: root/unsupported/Eigen/CXX11/src/Tensor/TensorForcedEval.h
Commit message (Collapse)AuthorAge
* Fix calls to device functions from host codeGravatar Nathan Luehr2021-05-11
|
* [SYCL Backend]Gravatar mehdi-goli2020-01-07
| | | | | | | * Adding Missing operations for vector comparison in SYCL. This caused compiler error for vector comparison when compiling SYCL * Fixing the compiler error for placement new in TensorForcedEval.h This caused compiler error when compiling SYCL backend * Reducing the SYCL warning by removing the abort function inside the kernel * Adding Strong inline to functions inside SYCL interop.
* Fix trivial shadow warningGravatar Christoph Hertzberg2019-12-19
|
* Initialize non-trivially constructible types when allocating a temp buffer.Gravatar Eugene Zhulenev2019-12-12
|
* Remove V2 suffix from TensorBlockGravatar Eugene Zhulenev2019-12-10
|
* Do not use std::vector in getResourceRequirementsGravatar Eugene Zhulenev2019-12-09
|
* Remove legacy block evaluation supportGravatar Eugene Zhulenev2019-11-12
|
* Add block evaluation V2 to TensorAsyncExecutor.Gravatar Rasmus Munk Larsen2019-10-22
| | | | Add async evaluation to a number of ops.
* Block evaluation for TensorGenerator/TensorReverse/TensorShufflingGravatar Eugene Zhulenev2019-10-14
|
* Block evaluation for TensorChipping + fixed bugs in TensorPadding and ↵Gravatar Eugene Zhulenev2019-10-09
| | | | TensorSlicing
* Tensor block evaluation V2 support for unary/binary/broadcstingGravatar Eugene Zhulenev2019-09-24
|
* Fix performance regressions due to ↵Gravatar Rasmus Munk Larsen2019-08-02
| | | | | | | | | | | | | | | | | https://bitbucket.org/eigen/eigen/pull-requests/662. The change caused the device struct to be copied for each expression evaluation, and caused, e.g., a 10% regression in the TensorFlow multinomial op on GPU: Benchmark Time(ns) CPU(ns) Iterations ---------------------------------------------------------------------- BM_Multinomial_gpu_1_100000_4 128173 231326 2922 1.610G items/s VS Benchmark Time(ns) CPU(ns) Iterations ---------------------------------------------------------------------- BM_Multinomial_gpu_1_100000_4 146683 246914 2719 1.509G items/s
* Merge with Eigen headGravatar Eugene Zhulenev2019-06-28
|\
* | Add block access to TensorReverseOp and make sure that TensorForcedEval uses ↵Gravatar Eugene Zhulenev2019-06-28
| | | | | | | | block access when preferred
| * [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.
* Add tiled evaluation for TensorForcedEvalOpGravatar Eugene Zhulenev2019-03-04
|
* 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
* Add block evaluationto CwiseUnaryOp and add PreferBlockAccess enum to all ↵Gravatar Eugene Zhulenev2018-08-10
| | | | evaluators
* Fixed compilation errors.Gravatar Benoit Steiner2018-08-06
|
* Merged in ↵Gravatar Benoit Steiner2018-08-01
|\ | | | | | | | | | | codeplaysoftware/eigen-upstream-pure/separating_internal_memory_allocation (pull request PR-446) Distinguishing between internal memory allocation/deallocation from explicit user memory allocation/deallocation.
* | Enabling per device specialisation of packetsize.Gravatar Mehdi Goli2018-08-01
| |
| * Distinguishing between internal memory allocation/deallocation from explicit ↵Gravatar Mehdi Goli2018-08-01
|/ | | | user memory allocation/deallocation.
* Add tiled evaluation support to TensorExecutorGravatar Eugene Zhulenev2018-07-25
|
* 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 mehdi_goli/opencl/DataDependancy (pull request PR-10)Gravatar Benoit Steiner2017-06-28
| | | | | | | | | | DataDependancy * Wrapping data type to the pointer class for sycl in non-terminal nodes; not having that breaks Tensorflow Conv2d code. * Applying Ronnan's Comments. * Applying benoit's comments
* Adding non-deferrenciable pointer track for ComputeCpp backend; Adding ↵Gravatar Mehdi Goli2017-01-19
| | | | TensorConvolutionOp for ComputeCpp; fixing typos. modifying TensorDeviceSycl to use the LegacyPointer class.
* Adding Tensor ReverseOp; TensorStriding; TensorConversionOp; Modifying ↵Gravatar Mehdi Goli2017-01-16
| | | | Tensor Contractsycl to be located in any place in the expression tree.
* Converting all parallel for lambda to functor in order to prevent kernel ↵Gravatar Mehdi Goli2016-12-16
| | | | duplication name error; adding tensorConcatinationOp backend for sycl.
* Worked around Visual Studio compilation errorsGravatar Benoit Steiner2016-10-28
|
* Partial OpenCL support via SYCL compatible with ComputeCpp CE.Gravatar Luke Iwanski2016-09-19
|
* Use array_prod instead of calling TotalSize since TotalSize is only ↵Gravatar Benoit Steiner2016-08-15
| | | | available on DSize.
* Marked a few tensor operations as read onlyGravatar Benoit Steiner2016-05-05
|
* Deleted trailing commasGravatar Benoit Steiner2016-04-29
|
* Fixed the partial evaluation of non vectorizable tensor subexpressionsGravatar Benoit Steiner2016-04-25
|
* 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.
* Decoupled the packet type definition from the definition of the tensor ops. ↵Gravatar Benoit Steiner2016-03-08
| | | | All the vectorization is now defined in the tensor evaluators. This will make it possible to relialably support devices with different packet types in the same compilation unit.
* Don't explicitely evaluate the subexpression from ↵Gravatar Benoit Steiner2016-01-24
| | | | TensorForcedEval::evalSubExprIfNeeded, as it will be done when executing the EvalTo subexpression
* Record whether the underlying tensor storage can be accessed directly during ↵Gravatar Benoit Steiner2016-01-19
| | | | the evaluation of an expression.
* Added missing constGravatar Benoit Steiner2015-12-21
|
* Added a couple of missing EIGEN_DEVICE_FUNCGravatar Benoit Steiner2015-11-12
|
* Silenced a compilation warningGravatar Benoit Steiner2015-11-06
|
* Use NumTraits<T>::RequireInitialization instead of ↵Gravatar Benoit Steiner2015-07-07
| | | | internal::is_arithmetic<T>::value to check whether it's possible to bypass the type constructor in the tensor code.
* Misc improvements and optimizationsGravatar Benoit Steiner2015-07-01
|
* Improved a previous fixGravatar Benoit Steiner2015-07-01
|
* Fixed a couple of mistakes in the previous commit.Gravatar Benoit Steiner2015-07-01
|
* Enabled the vectorized evaluation of several tensor expressions that was ↵Gravatar Benoit Steiner2015-07-01
| | | | previously disabled by mistake
* Silenced a few compilation warnings generated by nvccGravatar Benoit Steiner2015-02-10
|
* Improved support for RowMajor tensorsGravatar Benoit Steiner2015-01-14
| | | | Misc fixes and API cleanups.
* Fixes for the forced evaluation of tensor expressionsGravatar Benoit Steiner2014-10-02
| | | | More tests
* Reworked the expression evaluation mechanism in order to make it possible to ↵Gravatar Benoit Steiner2014-06-13
efficiently compute convolutions and contractions in the future: * The scheduling of computation is moved out the the assignment code and into a new TensorExecutor class * The assignment itself is now a regular node on the expression tree * The expression evaluators start by recursively evaluating all their subexpressions if needed