Skip to content

Commit 2ea75e0

Browse files
committed
Reductions now set max_wg to the minimum of the max work group size and 2048
- This prevents running out of resources when using local memory on CPU
1 parent 323a791 commit 2ea75e0

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -977,7 +977,10 @@ sycl::event reduction_over_group_temps_strided_impl(
977977
size_t wg = choose_workgroup_size<4>(reduction_nelems, sg_sizes);
978978

979979
constexpr size_t preferrered_reductions_per_wi = 4;
980-
size_t max_wg = d.get_info<sycl::info::device::max_work_group_size>();
980+
// max_max_wg prevents running out of resources on CPU
981+
constexpr size_t max_max_wg = 2048;
982+
size_t max_wg = std::min(
983+
max_max_wg, d.get_info<sycl::info::device::max_work_group_size>());
981984

982985
size_t reductions_per_wi(preferrered_reductions_per_wi);
983986
if (reduction_nelems <= preferrered_reductions_per_wi * max_wg) {

0 commit comments

Comments
 (0)