mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
[SYCL Function pointer Issue]: SYCL does not support function pointer inside the kernel, due to the portability issue of a function pointer and memory address space among host and accelerators. To fix the issue, function pointers have been replaced by function objects.
This commit is contained in:
committed by
Rasmus Munk Larsen
parent
6961468915
commit
e24a1f57e3
@@ -59,6 +59,9 @@ struct sycl_packet_traits : default_packet_traits {
|
||||
HasIGammac = 0,
|
||||
HasBetaInc = 0,
|
||||
HasBlend = has_blend,
|
||||
// This flag is used to indicate whether packet comparison is supported.
|
||||
// pcmp_eq, pcmp_lt and pcmp_le should be defined for it to be true.
|
||||
HasCmp = 1,
|
||||
HasMax = 1,
|
||||
HasMin = 1,
|
||||
HasMul = 1,
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
|
||||
#ifndef EIGEN_MATH_FUNCTIONS_SYCL_H
|
||||
#define EIGEN_MATH_FUNCTIONS_SYCL_H
|
||||
|
||||
namespace Eigen {
|
||||
|
||||
namespace internal {
|
||||
@@ -238,7 +237,7 @@ SYCL_PROUND(cl::sycl::cl_double2)
|
||||
#undef SYCL_PROUND
|
||||
|
||||
#define SYCL_PRINT(packet_type) \
|
||||
template<> \
|
||||
template <> \
|
||||
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE packet_type print<packet_type>( \
|
||||
const packet_type& a) { \
|
||||
return cl::sycl::rint(a); \
|
||||
@@ -295,7 +294,6 @@ SYCL_PLDEXP(cl::sycl::cl_double2)
|
||||
#undef SYCL_PLDEXP
|
||||
|
||||
#endif
|
||||
|
||||
} // end namespace internal
|
||||
|
||||
} // end namespace Eigen
|
||||
|
||||
Reference in New Issue
Block a user