Skip to content

Commit

Permalink
[SYCL][Reduction] Prefer fast group reduce over fast atomics (#6890)
Browse files Browse the repository at this point in the history
#6434 enabled treating "float" as
suitable for Reduction::has_fast_atomics implementation but that is
slower than the one available under Reduction::has_fast_reduce. Make
sure to check for the latter first.
  • Loading branch information
aelovikov-intel committed Sep 29, 2022
1 parent 8f0960e commit 97725f1
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions sycl/include/sycl/reduction.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -1133,12 +1133,12 @@ bool reduCGFuncForRange(handler &CGH, KernelType KernelFunc,
size_t NDRItems = NWorkGroups * WGSize;
nd_range<1> NDRange{range<1>{NDRItems}, range<1>{WGSize}};

if constexpr (Reduction::has_fast_atomics)
return reduCGFuncForRangeFastAtomics<KernelName>(CGH, KernelFunc, Range,
NDRange, Redu);
else if constexpr (Reduction::has_fast_reduce)
if constexpr (Reduction::has_fast_reduce)
return reduCGFuncForRangeFastReduce<KernelName>(CGH, KernelFunc, Range,
NDRange, Redu);
else if constexpr (Reduction::has_fast_atomics)
return reduCGFuncForRangeFastAtomics<KernelName>(CGH, KernelFunc, Range,
NDRange, Redu);
else
return reduCGFuncForRangeBasic<KernelName>(CGH, KernelFunc, Range, NDRange,
Redu);
Expand Down

0 comments on commit 97725f1

Please sign in to comment.