We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 702b707 commit dcb566aCopy full SHA for dcb566a
dpctl/tensor/libtensor/include/kernels/reductions.hpp
@@ -50,12 +50,18 @@ namespace tensor
50
namespace kernels
51
{
52
53
+template <typename ReductionOpT, typename T> struct needs_workaround
54
+{
55
+ static constexpr bool value =
56
+ std::is_same_v<ReductionOpT, sycl::multiplies<T>> &&
57
+ (std::is_same_v<T, std::int64_t> || std::is_same_v<T, std::uint64_t>);
58
+};
59
+
60
template <typename ReductionOpT, typename T> struct can_use_reduce_over_group
61
62
static constexpr bool value =
63
sycl::has_known_identity<ReductionOpT, T>::value &&
- !std::is_same_v<T, std::int64_t> && !std::is_same_v<T, std::uint64_t> &&
- !std::is_same_v<ReductionOpT, sycl::multiplies<T>>;
64
+ !needs_workaround<ReductionOpT, T>::value;
65
};
66
67
template <typename argT,
0 commit comments