Skip to content

Commit b1df7ea

Browse files
author
Erich Keane
committed
Change reduction to make sure auto_name is preserved
1 parent 284df41 commit b1df7ea

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

sycl/include/CL/sycl/ONEAPI/reduction.hpp

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -722,16 +722,25 @@ class __sycl_reduction_aux_kernel;
722722

723723
/// Helper structs to get additional kernel name types based on given
724724
/// \c Name and additional template parameters helping to distinguish kernels.
725-
/// If \c Name is undefined (is \c auto_name) then \c Type becomes the \c Name.
725+
/// If \c Name is undefined (is \c auto_name) leave it that way to take advantage
726+
// of unnamed kernels being named after their functor.
726727
template <typename Name, typename Type, bool B1, bool B2, typename T3 = void>
727728
struct get_reduction_main_kernel_name_t {
728-
using name = __sycl_reduction_main_kernel<
729-
typename sycl::detail::get_kernel_name_t<Name, Type>::name, B1, B2, T3>;
729+
using name = __sycl_reduction_main_kernel<Name, Type, B1, B2, T3>;
730+
};
731+
template <typename Type, bool B1, bool B2, typename T3 = void>
732+
struct get_reduction_main_kernel_name_t<sycl::detail::auto_name, Type, B1, B2,
733+
T3> {
734+
using name = sycl::detail::auto_name;
730735
};
731736
template <typename Name, typename Type, bool B1, bool B2, typename T3>
732737
struct get_reduction_aux_kernel_name_t {
733-
using name = __sycl_reduction_aux_kernel<
734-
typename sycl::detail::get_kernel_name_t<Name, Type>::name, B1, B2, T3>;
738+
using name = __sycl_reduction_aux_kernel<Name, B1, B2, T3>;
739+
};
740+
template <typename Type, bool B1, bool B2, typename T3 = void>
741+
struct get_reduction_aux_kernel_name_t<sycl::detail::auto_name, Type, B1, B2,
742+
T3> {
743+
using name = sycl::detail::auto_name;
735744
};
736745

737746
/// Implements a command group function that enqueues a kernel that calls

0 commit comments

Comments
 (0)