@@ -27,16 +27,12 @@ kernel_impl::kernel_impl(Managed<ur_kernel_handle_t> &&Kernel,
2727      MKernelBundleImpl(KernelBundleImpl ? KernelBundleImpl->shared_from_this ()
2828                                         : nullptr),
2929      MIsInterop(true ), MKernelArgMaskPtr{ArgMask},
30+       MInteropDeviceKernelInfoHolder (CompileTimeKernelInfoTy{getName ()}),
3031      MDeviceKernelInfo(
3132          MIsInterop
32-               ? DeviceKernelInfoUniquePtr(
33-                     new  DeviceKernelInfo(
34-                         CompileTimeKernelInfoTy{std::string_view (getName ())}),
35-                     DeviceKernelInfoDeleter)
36-               : DeviceKernelInfoUniquePtr(
37-                     &ProgramManager::getInstance ().getOrCreateDeviceKernelInfo(
38-                         KernelNameStrT (getName())),
39-                     noopDeviceKernelInfoDeleter)) {
33+               ? MInteropDeviceKernelInfoHolder
34+               : ProgramManager::getInstance().getOrCreateDeviceKernelInfo(
35+                     KernelNameStrT (getName()))) {
4036  ur_context_handle_t  UrContext = nullptr ;
4137  //  Using the adapter from the passed ContextImpl
4238  getAdapter ().call <UrApiKind::urKernelGetInfo>(
@@ -63,16 +59,12 @@ kernel_impl::kernel_impl(Managed<ur_kernel_handle_t> &&Kernel,
6359      MKernelBundleImpl(KernelBundleImpl.shared_from_this()),
6460      MIsInterop(MDeviceImageImpl->getOriginMask () & ImageOriginInterop),
6561      MKernelArgMaskPtr{ArgMask}, MCacheMutex{CacheMutex},
62+       MInteropDeviceKernelInfoHolder (CompileTimeKernelInfoTy{getName ()}),
6663      MDeviceKernelInfo(
6764          MIsInterop
68-               ? DeviceKernelInfoUniquePtr(
69-                     new  DeviceKernelInfo(
70-                         CompileTimeKernelInfoTy{std::string_view (getName ())}),
71-                     DeviceKernelInfoDeleter)
72-               : DeviceKernelInfoUniquePtr(
73-                     &ProgramManager::getInstance ().getOrCreateDeviceKernelInfo(
74-                         KernelNameStrT (getName())),
75-                     noopDeviceKernelInfoDeleter)) {
65+               ? MInteropDeviceKernelInfoHolder
66+               : ProgramManager::getInstance().getOrCreateDeviceKernelInfo(
67+                     KernelNameStrT (getName()))) {
7668  //  Enable USM indirect access for interop and non-sycl-jit source kernels.
7769  //  sycl-jit kernels will enable this if needed through the regular kernel
7870  //  path.
0 commit comments