Skip to content

Commit 088bb09

Browse files
committed
reduce kernel bundle overhead for multi-device systems
1 parent a2a452b commit 088bb09

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

include/oneapi/dpl/experimental/kt/internal/radix_sort_submitters.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -231,13 +231,15 @@ struct __radix_sort_onesweep_submitter<__is_ascending, __radix_bits, __data_per_
231231

232232
const std::uint32_t __slm_size_bytes = _KernelType::__calc_slm_alloc();
233233

234+
sycl::kernel_id __kid = sycl::get_kernel_id<_KernelName>();
234235
sycl::kernel_bundle<sycl::bundle_state::executable> __bundle =
235-
sycl::get_kernel_bundle<sycl::bundle_state::executable>(__q.get_context());
236+
sycl::get_kernel_bundle<sycl::bundle_state::executable>(__q.get_context(), {__q.get_device()}, {__kid});
236237
sycl::kernel __kernel = __bundle.get_kernel<_KernelName>();
237238
std::uint32_t __num_wgs = __get_num_work_groups(__kernel, __q, __sweep_work_group_count, __slm_size_bytes);
238239

239240
sycl::nd_range<1> __nd_range(__num_wgs * __work_group_size, __work_group_size);
240241
return __q.submit([&](sycl::handler& __cgh) {
242+
__cgh.use_kernel_bundle(__bundle);
241243
sycl::local_accessor<unsigned char, 1> __slm_accessor(__slm_size_bytes, __cgh);
242244
oneapi::dpl::__ranges::__require_access(__cgh, __in_pack.__keys_rng(), __out_pack.__keys_rng());
243245
if constexpr (std::decay_t<_InRngPack>::__has_values)

0 commit comments

Comments
 (0)