Skip to content

Commit 42990a6

Browse files
[NFC][SYCL] Avoid unnecessary std::unique_ptr<HostKernel<...>> instantiations (#17640)
The change improves "host" compilation times for cases with multiple kernels.
1 parent 0f42c75 commit 42990a6

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

sycl/include/sycl/handler.hpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -721,8 +721,11 @@ class __SYCL_EXPORT handler {
721721
detail::KernelLambdaHasKernelHandlerArgT<KernelType,
722722
LambdaArgType>::value;
723723

724-
MHostKernel = std::make_unique<
725-
detail::HostKernel<KernelType, LambdaArgType, Dims>>(KernelFunc);
724+
// Not using `std::make_unique` to avoid unnecessary instantiations of
725+
// `std::unique_ptr<HostKernel<...>>`. Only
726+
// `std::unique_ptr<HostKernelBase>` is necessary.
727+
MHostKernel.reset(
728+
new detail::HostKernel<KernelType, LambdaArgType, Dims>(KernelFunc));
726729

727730
constexpr bool KernelHasName =
728731
detail::getKernelName<KernelName>() != nullptr &&

0 commit comments

Comments
 (0)