diff options
-rw-r--r-- | unsupported/Eigen/CXX11/src/Tensor/TensorArgMaxSycl.h | 11 | ||||
-rw-r--r-- | unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h | 4 |
2 files changed, 8 insertions, 7 deletions
diff --git a/unsupported/Eigen/CXX11/src/Tensor/TensorArgMaxSycl.h b/unsupported/Eigen/CXX11/src/Tensor/TensorArgMaxSycl.h index 8f76b8254..442639868 100644 --- a/unsupported/Eigen/CXX11/src/Tensor/TensorArgMaxSycl.h +++ b/unsupported/Eigen/CXX11/src/Tensor/TensorArgMaxSycl.h @@ -40,7 +40,7 @@ struct traits<TensorTupleReducerDeviceOp<StrideDims, XprType> > : public traits< typedef traits<XprType> XprTraits; typedef typename XprTraits::StorageKind StorageKind; typedef typename XprTraits::Index Index; - typedef typename XprType::Scalar Scalar; + typedef Index Scalar; typedef typename XprType::Nested Nested; typedef typename remove_reference<Nested>::type _Nested; static const int NumDimensions = XprTraits::NumDimensions; @@ -58,7 +58,8 @@ class TensorTupleReducerDeviceOp : public TensorBase<TensorTupleReducerDeviceOp< typedef typename Eigen::internal::nested<TensorTupleReducerDeviceOp>::type Nested; typedef typename Eigen::internal::traits<TensorTupleReducerDeviceOp>::StorageKind StorageKind; typedef typename Eigen::internal::traits<TensorTupleReducerDeviceOp>::Index Index; - typedef typename XprType::CoeffReturnType CoeffReturnType; + typedef typename XprType::CoeffReturnType TupleType; + typedef Index CoeffReturnType; EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorTupleReducerDeviceOp(XprType expr, const Index return_dim, @@ -99,9 +100,9 @@ struct TensorEvaluator<const TensorTupleReducerDeviceOp<StrideDims, ArgType>, Sy { typedef TensorTupleReducerDeviceOp<StrideDims, ArgType> XprType; typedef typename XprType::Index Index; - typedef typename XprType::Index Scalar; - typedef Index CoeffReturnType; - typedef typename XprType::CoeffReturnType TupleType; + typedef typename XprType::Scalar Scalar; + typedef typename XprType::CoeffReturnType CoeffReturnType; + typedef typename XprType::TupleType TupleType; typedef typename TensorEvaluator<ArgType, SyclKernelDevice>::Dimensions Dimensions; enum { diff --git a/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h b/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h index 2b5749f55..6158acbd9 100644 --- a/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h +++ b/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceSycl.h @@ -46,8 +46,8 @@ struct SyclAllocator { namespace Eigen { - #define ConvertToActualTypeSycl(Scalar, buf_acc) reinterpret_cast<typename cl::sycl::global_ptr<Scalar>::pointer_t>((&(*buf_acc.get_pointer()))) - #define ConvertToActualSyclOffset(Scalar, offset) offset/sizeof(Scalar) +#define ConvertToActualTypeSycl(Scalar, buf_acc) static_cast<Scalar*>(static_cast<void*>(((buf_acc.get_pointer().get())))) +#define ConvertToActualSyclOffset(Scalar, offset) offset/sizeof(Scalar) template <typename Scalar, typename read_accessor, typename write_accessor> class MemCopyFunctor { |