diff options
author | mehdi-goli <mehdi.goli@codeplay.com> | 2020-11-02 11:13:37 +0000 |
---|---|---|
committer | Rasmus Munk Larsen <rmlarsen@google.com> | 2020-11-12 01:50:28 +0000 |
commit | e24a1f57e35f3f3894a5612bb8b4e34bf68ebb26 (patch) | |
tree | 139bffe997b4d81877cf717ad292fa40baede126 /Eigen/src/Core/arch/SYCL | |
parent | 6961468915b4b3a1b96cbfcac18f533abd82c549 (diff) |
[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.
Diffstat (limited to 'Eigen/src/Core/arch/SYCL')
-rw-r--r-- | Eigen/src/Core/arch/SYCL/InteropHeaders.h | 3 | ||||
-rw-r--r-- | Eigen/src/Core/arch/SYCL/MathFunctions.h | 4 |
2 files changed, 4 insertions, 3 deletions
diff --git a/Eigen/src/Core/arch/SYCL/InteropHeaders.h b/Eigen/src/Core/arch/SYCL/InteropHeaders.h index 710059d50..10856ff5e 100644 --- a/Eigen/src/Core/arch/SYCL/InteropHeaders.h +++ b/Eigen/src/Core/arch/SYCL/InteropHeaders.h @@ -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, diff --git a/Eigen/src/Core/arch/SYCL/MathFunctions.h b/Eigen/src/Core/arch/SYCL/MathFunctions.h index 7d8cd132b..2ab0f2a76 100644 --- a/Eigen/src/Core/arch/SYCL/MathFunctions.h +++ b/Eigen/src/Core/arch/SYCL/MathFunctions.h @@ -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 |