From 601f89dfd0e02df0010466139d34ae7940d91b3a Mon Sep 17 00:00:00 2001 From: mehdi-goli Date: Fri, 10 Jan 2020 17:55:15 +0000 Subject: Adding RInt vector support for SYCL. --- Eigen/src/Core/arch/SYCL/InteropHeaders.h | 1 + Eigen/src/Core/arch/SYCL/MathFunctions.h | 11 +++++++++++ 2 files changed, 12 insertions(+) (limited to 'Eigen/src/Core/arch/SYCL') diff --git a/Eigen/src/Core/arch/SYCL/InteropHeaders.h b/Eigen/src/Core/arch/SYCL/InteropHeaders.h index 44042f441..710059d50 100644 --- a/Eigen/src/Core/arch/SYCL/InteropHeaders.h +++ b/Eigen/src/Core/arch/SYCL/InteropHeaders.h @@ -65,6 +65,7 @@ struct sycl_packet_traits : default_packet_traits { HasAdd = 1, HasFloor = 1, HasRound = 1, + HasRint = 1, HasLog1p = 1, HasExpm1 = 1, HasCeil = 1, diff --git a/Eigen/src/Core/arch/SYCL/MathFunctions.h b/Eigen/src/Core/arch/SYCL/MathFunctions.h index 9e16e6c3f..a96625e2c 100644 --- a/Eigen/src/Core/arch/SYCL/MathFunctions.h +++ b/Eigen/src/Core/arch/SYCL/MathFunctions.h @@ -236,6 +236,17 @@ SYCL_PROUND(cl::sycl::cl_float4) SYCL_PROUND(cl::sycl::cl_double2) #undef SYCL_PROUND +#define SYCL_PRINT(packet_type) \ + template<> \ + EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type print( \ + const packet_type& a) { \ + return cl::sycl::rint(a); \ + } + +SYCL_PRINT(cl::sycl::cl_float4) +SYCL_PRINT(cl::sycl::cl_double2) +#undef SYCL_PRINT + #define SYCL_FLOOR(packet_type) \ template <> \ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pfloor( \ -- cgit v1.2.3