aboutsummaryrefslogtreecommitdiffhomepage
path: root/unsupported/Eigen/CXX11/src/Tensor/TensorForwardDeclarations.h
Commit message (Collapse)AuthorAge
* Remove V2 suffix from TensorBlockGravatar 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
* 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.
* 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.
* Fix compilation warnings and errors with clang in TensorBlockV2Gravatar Eugene Zhulenev2019-09-25
|
* Tensor block evaluation V2 support for unary/binary/broadcstingGravatar Eugene Zhulenev2019-09-24
|
* Allow move-only done callback in TensorAsyncDeviceGravatar Eugene Zhulenev2019-09-03
|
* Asynchronous expression evaluation with TensorAsyncDeviceGravatar Eugene Zhulenev2019-08-30
|
* Const correctness in TensorMap<const Tensor<T, ...>> expressionsGravatar Eugene Zhulenev2019-08-28
|
* adding the EIGEN_DEVICE_FUNC attribute to the constCast routine.Gravatar Deven Desai2019-07-02
| | | | | | | | | | | | | | | | | | | | | | Not having this attribute results in the following failures in the `--config=rocm` TF build. ``` In file included from tensorflow/core/kernels/cross_op_gpu.cu.cc:20: In file included from ./tensorflow/core/framework/register_types.h:20: In file included from ./tensorflow/core/framework/numeric_types.h:20: In file included from ./third_party/eigen3/unsupported/Eigen/CXX11/Tensor:1: In file included from external/eigen_archive/unsupported/Eigen/CXX11/Tensor:140: external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h:356:37: error: 'Eigen::constCast': no overloaded function has restriction specifiers that are compatible with the ambient context 'data' typename Storage::Type result = constCast(m_impl.data()); ^ external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorChipping.h:356:37: error: 'Eigen::constCast': no overloaded function has restriction specifiers that are compatible with the ambient context 'data' external/eigen_archive/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h:148:56: note: in instantiation of member function 'Eigen::TensorEvaluator<const Eigen::TensorChippingOp<1, Eigen::TensorMap<Eigen::Tensor<int, 2, 1, long>, 16, MakePointer> >, Eigen::Gpu\ Device>::data' requested here return m_rightImpl.evalSubExprsIfNeeded(m_leftImpl.data()); ``` Adding the EIGEN_DEVICE_FUNC attribute resolves those errors
* [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.
* [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(-)
* Merge with upstream eigen/defaultGravatar Eugene Zhulenev2018-08-27
|\
| * Using PointerType struct and specializing it per device for TensorCustomOp.hGravatar Mehdi Goli2018-08-16
| |\
* | | Fix BlockAccess enum in CwiseUnaryOp evaluatorGravatar Eugene Zhulenev2018-08-10
| | |
* | | Add block evaluationto CwiseUnaryOp and add PreferBlockAccess enum to all ↵Gravatar Eugene Zhulenev2018-08-10
| |/ |/| | | | | evaluators
| * Properly fixing the PointerType for TensorCustomOp.h. As the output type ↵Gravatar Mehdi Goli2018-08-09
|/ | | | here should be based on CoeffreturnType not the Scalar type. Therefore, Similar to reduction and evalTo function, it should have its own MakePointer class. In this case, for other device the type is defaulted to CoeffReturnType and no changes is required on users' code. However, in SYCL, on the device, we can recunstruct the device Type.
* Forward declare NoOpOutputKernel as struct rather than class to be ↵Gravatar Rasmus Munk Larsen2018-08-06
| | | | consistent with implementation.
* Fixing the compilation error.Gravatar Mehdi Goli2018-08-03
|
* Add tiled evaluation support to TensorExecutorGravatar Eugene Zhulenev2018-07-25
|
* Fuse computations into the Tensor contractions using output kernelGravatar Eugene Zhulenev2018-07-10
|
* Fix typos found using codespellGravatar Gael Guennebaud2018-06-07
|
* Merged in benoitsteiner/opencl (pull request PR-323)Gravatar Benoit Steiner2017-07-07
|\ | | | | | | Improved support for OpenCL
* | Merged in tntnatbry/eigen (pull request PR-319)Gravatar Benoit Steiner2017-07-07
| | | | | | | | Tensor Trace op
| * 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 Tensor ReverseOp; TensorStriding; TensorConversionOp; Modifying ↵Gravatar Mehdi Goli2017-01-16
| | | | Tensor Contractsycl to be located in any place in the expression tree.
* struct -> class in order to silence compilation warning.Gravatar Luke Iwanski2016-12-16
|
* 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.
* Cleaned up forward declarationsGravatar 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.
* 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;
* Removed a template parameter for fixed sized tensorsGravatar Benoit Steiner2016-10-26
|
* Replaced tabs with spacesGravatar Benoit Steiner2016-10-25
|
* Partial OpenCL support via SYCL compatible with ComputeCpp CE.Gravatar Luke Iwanski2016-09-19
|
* Workaround compilation issue with msvcGravatar Gael Guennebaud2016-07-04
|
* 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.
* Added a new operation to enable more powerful tensorindexing.Gravatar Benoit Steiner2016-05-27
|
* Use integers instead of std::size_t to encode the number of dimensions in ↵Gravatar Benoit Steiner2015-12-04
| | | | the Tensor class since most of the code currently already use integers.
* Added missing glue logicGravatar Benoit Steiner2015-10-22
|
* Added support for argmax/argminGravatar Benoit Steiner2015-08-31
|
* Added support for tensor inflation.Gravatar Benoit Steiner2015-07-16
|
* Fixed a compilation warning generated by clangGravatar Benoit Steiner2015-07-06
|
* Enabled the vectorized evaluation of several tensor expressions that was ↵Gravatar Benoit Steiner2015-07-01
| | | | previously disabled by mistake
* Added support for user defined custom tensor op.Gravatar Benoit Steiner2015-06-30
|
* Added support for 3D patch extractionGravatar Benoit Steiner2015-06-30
|
* Added the ability to generate a tensor from a custom user defined ↵Gravatar Benoit Steiner2015-04-22
| | | | | | 'generator'. This simplifies the creation of constant tensors initialized using specific regular patterns. Created a gaussian window generator as a first use case.
* Made the index type a template parameter of the tensor class instead of ↵Gravatar Benoit Steiner2015-03-30
| | | | encoding it in the options.
* Added support for vectorized type casting of tensorsGravatar Benoit Steiner2015-02-27
|