diff options
author | Mehdi Goli <mehdi.goli@example.com> | 2016-12-01 13:02:27 +0000 |
---|---|---|
committer | Mehdi Goli <mehdi.goli@example.com> | 2016-12-01 13:02:27 +0000 |
commit | 79aa2b784ecc26d6a8ef6fb2b2b053f4ad81593b (patch) | |
tree | 626e91024c30ad3caa510ca2e06548dbd6ffadce /unsupported/Eigen/CXX11/src/Tensor/TensorSyclExtractAccessor.h | |
parent | a70393fd02fb56f432c6258ab1744e6d299797e3 (diff) |
Adding sycl backend for TensorPadding.h; disbaling __unit128 for sycl in TensorIntDiv.h; disabling cashsize for sycl in tensorDeviceDefault.h; adding sycl backend for StrideSliceOP ; removing sycl compiler warning for creating an array of size 0 in CXX11Meta.h; cleaning up the sycl backend code.
Diffstat (limited to 'unsupported/Eigen/CXX11/src/Tensor/TensorSyclExtractAccessor.h')
-rw-r--r-- | unsupported/Eigen/CXX11/src/Tensor/TensorSyclExtractAccessor.h | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/unsupported/Eigen/CXX11/src/Tensor/TensorSyclExtractAccessor.h b/unsupported/Eigen/CXX11/src/Tensor/TensorSyclExtractAccessor.h index f5ef05e36..dc8356cf4 100644 --- a/unsupported/Eigen/CXX11/src/Tensor/TensorSyclExtractAccessor.h +++ b/unsupported/Eigen/CXX11/src/Tensor/TensorSyclExtractAccessor.h @@ -209,7 +209,21 @@ SYCLSLICEOPEXTACC(const) SYCLSLICEOPEXTACC() #undef SYCLSLICEOPEXTACC -#define RESHAPEANDSHUFFOPEXTRACC(OPEXPR, CVQual)\ +#define SYCLSLICESTRIDEOPEXTACC(CVQual)\ +template<typename StartIndices, typename StopIndices, typename Strides, typename XprType, typename Dev>\ +struct ExtractAccessor<TensorEvaluator<CVQual TensorStridingSlicingOp<StartIndices, StopIndices, Strides, XprType>, Dev> >{\ + static inline auto getTuple(cl::sycl::handler& cgh, const TensorEvaluator<CVQual TensorStridingSlicingOp<StartIndices, StopIndices, Strides, XprType>, Dev>& eval)\ + -> decltype(AccessorConstructor::getTuple(cgh, eval.impl())){\ + return AccessorConstructor::getTuple(cgh, eval.impl());\ + }\ +}; + +SYCLSLICESTRIDEOPEXTACC(const) +SYCLSLICESTRIDEOPEXTACC() +#undef SYCLSLICESTRIDEOPEXTACC + + +#define PADDINGRESHAPEANDSHUFFOPEXTRACC(OPEXPR, CVQual)\ template<typename Param, typename XprType, typename Dev>\ struct ExtractAccessor<TensorEvaluator<CVQual OPEXPR<Param, XprType>, Dev> > {\ static inline auto getTuple(cl::sycl::handler& cgh, const TensorEvaluator<CVQual OPEXPR<Param, XprType>, Dev>& eval)\ @@ -217,13 +231,17 @@ struct ExtractAccessor<TensorEvaluator<CVQual OPEXPR<Param, XprType>, Dev> > {\ return AccessorConstructor::getTuple(cgh, eval.impl());\ }\ }; + +// tensor padding +PADDINGRESHAPEANDSHUFFOPEXTRACC(TensorPaddingOp, const) +PADDINGRESHAPEANDSHUFFOPEXTRACC(TensorPaddingOp, ) // tensor reshaping -RESHAPEANDSHUFFOPEXTRACC(TensorReshapingOp, const) -RESHAPEANDSHUFFOPEXTRACC(TensorReshapingOp, ) +PADDINGRESHAPEANDSHUFFOPEXTRACC(TensorReshapingOp, const) +PADDINGRESHAPEANDSHUFFOPEXTRACC(TensorReshapingOp, ) /// Tensor shuffling -RESHAPEANDSHUFFOPEXTRACC(TensorShufflingOp, const) -RESHAPEANDSHUFFOPEXTRACC(TensorShufflingOp, ) -#undef RESHAPEANDSHUFFOPEXTRACC +PADDINGRESHAPEANDSHUFFOPEXTRACC(TensorShufflingOp, const) +PADDINGRESHAPEANDSHUFFOPEXTRACC(TensorShufflingOp, ) +#undef PADDINGRESHAPEANDSHUFFOPEXTRACC /// template deduction for \ref ExtractAccessor template <typename Evaluator> |