@@ -16,19 +16,19 @@ namespace sycl {
1616inline namespace _V1 {
1717namespace detail {
1818
19- kernel_impl::kernel_impl (ur_kernel_handle_t Kernel, ContextImplPtr Context,
19+ kernel_impl::kernel_impl (ur_kernel_handle_t Kernel, context_impl & Context,
2020 KernelBundleImplPtr KernelBundleImpl,
2121 const KernelArgMask *ArgMask)
22- : MKernel(Kernel), MContext(Context),
23- MProgram (ProgramManager::getInstance().getUrProgramFromUrKernel(
24- Kernel, * Context)),
22+ : MKernel(Kernel), MContext(Context.shared_from_this() ),
23+ MProgram (ProgramManager::getInstance().getUrProgramFromUrKernel(Kernel,
24+ Context)),
2525 MCreatedFromSource(true ), MKernelBundleImpl(std::move(KernelBundleImpl)),
2626 MIsInterop(true ), MKernelArgMaskPtr{ArgMask} {
2727 ur_context_handle_t UrContext = nullptr ;
2828 // Using the adapter from the passed ContextImpl
2929 getAdapter ()->call <UrApiKind::urKernelGetInfo>(
3030 MKernel, UR_KERNEL_INFO_CONTEXT, sizeof (UrContext), &UrContext, nullptr );
31- if (Context-> getHandleRef () != UrContext)
31+ if (Context. getHandleRef () != UrContext)
3232 throw sycl::exception (
3333 make_error_code (errc::invalid),
3434 " Input context must be the same as the context of cl_kernel" );
@@ -37,12 +37,13 @@ kernel_impl::kernel_impl(ur_kernel_handle_t Kernel, ContextImplPtr Context,
3737 enableUSMIndirectAccess ();
3838}
3939
40- kernel_impl::kernel_impl (ur_kernel_handle_t Kernel, ContextImplPtr ContextImpl,
40+ kernel_impl::kernel_impl (ur_kernel_handle_t Kernel, context_impl & ContextImpl,
4141 DeviceImageImplPtr DeviceImageImpl,
4242 KernelBundleImplPtr KernelBundleImpl,
4343 const KernelArgMask *ArgMask,
4444 ur_program_handle_t Program, std::mutex *CacheMutex)
45- : MKernel(Kernel), MContext(std::move(ContextImpl)), MProgram(Program),
45+ : MKernel(Kernel), MContext(ContextImpl.shared_from_this()),
46+ MProgram (Program),
4647 MCreatedFromSource(DeviceImageImpl->isNonSYCLSourceBased ()),
4748 MDeviceImageImpl(std::move(DeviceImageImpl)),
4849 MKernelBundleImpl(std::move(KernelBundleImpl)),
0 commit comments