Skip to content

Commit 27d314e

Browse files
Make sure reduce_per_wi is non-zero
1 parent 55711fd commit 27d314e

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

dpctl/tensor/libtensor/include/kernels/reductions.hpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ sycl::event sum_reduction_over_group_with_atomics_strided_impl(
259259
constexpr size_t preferrered_reductions_per_wi = 4;
260260
size_t reductions_per_wi =
261261
(reduction_nelems < preferrered_reductions_per_wi * wg)
262-
? ((reduction_nelems + wg - 1) / wg)
262+
? std::max<size_t>(1, (reduction_nelems + wg - 1) / wg)
263263
: preferrered_reductions_per_wi;
264264

265265
size_t reduction_groups =
@@ -349,7 +349,7 @@ sycl::event sum_reduction_over_group_with_atomics_contig_impl(
349349
constexpr size_t preferrered_reductions_per_wi = 8;
350350
size_t reductions_per_wi =
351351
(reduction_nelems < preferrered_reductions_per_wi * wg)
352-
? ((reduction_nelems + wg - 1) / wg)
352+
? std::max<size_t>(1, (reduction_nelems + wg - 1) / wg)
353353
: preferrered_reductions_per_wi;
354354

355355
size_t reduction_groups =
@@ -514,7 +514,8 @@ sycl::event sum_reduction_over_group_temps_strided_impl(
514514
reduction_shape_stride};
515515

516516
wg = max_wg;
517-
reductions_per_wi = (reduction_nelems + wg - 1) / wg;
517+
reductions_per_wi =
518+
std::max<size_t>(1, (reduction_nelems + wg - 1) / wg);
518519

519520
size_t reduction_groups =
520521
(reduction_nelems + reductions_per_wi * wg - 1) /
@@ -698,7 +699,8 @@ sycl::event sum_reduction_over_group_temps_strided_impl(
698699
ReductionIndexerT reduction_indexer{};
699700

700701
wg = max_wg;
701-
reductions_per_wi = (remaining_reduction_nelems + wg - 1) / wg;
702+
reductions_per_wi =
703+
std::max<size_t>(1, (remaining_reduction_nelems + wg - 1) / wg);
702704

703705
size_t reduction_groups =
704706
(remaining_reduction_nelems + reductions_per_wi * wg - 1) /

0 commit comments

Comments
 (0)