Adding RInt vector support for SYCL.

This commit is contained in:
mehdi-goli 2020-01-10 17:55:15 +00:00
parent 2ea5a715cf
commit 601f89dfd0
2 changed files with 12 additions and 0 deletions

View File

@ -65,6 +65,7 @@ struct sycl_packet_traits : default_packet_traits {
HasAdd = 1, HasAdd = 1,
HasFloor = 1, HasFloor = 1,
HasRound = 1, HasRound = 1,
HasRint = 1,
HasLog1p = 1, HasLog1p = 1,
HasExpm1 = 1, HasExpm1 = 1,
HasCeil = 1, HasCeil = 1,

View File

@ -236,6 +236,17 @@ SYCL_PROUND(cl::sycl::cl_float4)
SYCL_PROUND(cl::sycl::cl_double2) SYCL_PROUND(cl::sycl::cl_double2)
#undef SYCL_PROUND #undef SYCL_PROUND
#define SYCL_PRINT(packet_type) \
template<> \
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type print<packet_type>( \
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) \ #define SYCL_FLOOR(packet_type) \
template <> \ template <> \
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pfloor<packet_type>( \ EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type pfloor<packet_type>( \