diff --git a/sycl/source/detail/kernel_program_cache.cpp b/sycl/source/detail/kernel_program_cache.cpp index 02706f928111d..46b0685c3545b 100644 --- a/sycl/source/detail/kernel_program_cache.cpp +++ b/sycl/source/detail/kernel_program_cache.cpp @@ -6,15 +6,14 @@ // //===----------------------------------------------------------------------===// -#include #include #include namespace sycl { inline namespace _V1 { namespace detail { -const AdapterPtr &KernelProgramCache::getAdapter() { - return MParentContext->getAdapter(); +const adapter_impl &KernelProgramCache::getAdapter() { + return *(MParentContext->getAdapter()); } ur_context_handle_t KernelProgramCache::getURContext() const { diff --git a/sycl/source/detail/kernel_program_cache.hpp b/sycl/source/detail/kernel_program_cache.hpp index 44dc1bd57c17c..4c139f99c8211 100644 --- a/sycl/source/detail/kernel_program_cache.hpp +++ b/sycl/source/detail/kernel_program_cache.hpp @@ -112,12 +112,12 @@ class KernelProgramCache { }; struct ProgramBuildResult : public BuildResult { - AdapterPtr MAdapter; - ProgramBuildResult(const AdapterPtr &AAdapter) : MAdapter(AAdapter) { + const adapter_impl &MAdapter; + ProgramBuildResult(const adapter_impl &Adapter) : MAdapter(Adapter) { Val = nullptr; } - ProgramBuildResult(const AdapterPtr &AAdapter, BuildState InitialState) - : MAdapter(AAdapter) { + ProgramBuildResult(const adapter_impl &Adapter, BuildState InitialState) + : MAdapter(Adapter) { Val = nullptr; this->State.store(InitialState); } @@ -125,8 +125,8 @@ class KernelProgramCache { try { if (Val) { ur_result_t Err = - MAdapter->call_nocheck(Val); - __SYCL_CHECK_UR_CODE_NO_EXC(Err, MAdapter->getBackend()); + MAdapter.call_nocheck(Val); + __SYCL_CHECK_UR_CODE_NO_EXC(Err, MAdapter.getBackend()); } } catch (std::exception &e) { __SYCL_REPORT_EXCEPTION_TO_STREAM("exception in ~ProgramBuildResult", @@ -198,16 +198,16 @@ class KernelProgramCache { using KernelArgMaskPairT = std::pair; struct KernelBuildResult : public BuildResult { - AdapterPtr MAdapter; - KernelBuildResult(const AdapterPtr &AAdapter) : MAdapter(AAdapter) { + const adapter_impl &MAdapter; + KernelBuildResult(const adapter_impl &Adapter) : MAdapter(Adapter) { Val.first = nullptr; } ~KernelBuildResult() { try { if (Val.first) { ur_result_t Err = - MAdapter->call_nocheck(Val.first); - __SYCL_CHECK_UR_CODE_NO_EXC(Err, MAdapter->getBackend()); + MAdapter.call_nocheck(Val.first); + __SYCL_CHECK_UR_CODE_NO_EXC(Err, MAdapter.getBackend()); } } catch (std::exception &e) { __SYCL_REPORT_EXCEPTION_TO_STREAM("exception in ~KernelBuildResult", e); @@ -668,18 +668,18 @@ class KernelProgramCache { // Store size of the program and check if we need to evict some entries. // Get Size of the program. size_t ProgramSize = 0; - auto Adapter = getAdapter(); + const adapter_impl &Adapter = getAdapter(); try { // Get number of devices this program was built for. unsigned int DeviceNum = 0; - Adapter->call( + Adapter.call( Program, UR_PROGRAM_INFO_NUM_DEVICES, sizeof(DeviceNum), &DeviceNum, nullptr); // Get binary sizes for each device. std::vector BinarySizes(DeviceNum); - Adapter->call( + Adapter.call( Program, UR_PROGRAM_INFO_BINARY_SIZES, sizeof(size_t) * BinarySizes.size(), BinarySizes.data(), nullptr); @@ -868,7 +868,7 @@ class KernelProgramCache { friend class ::MockKernelProgramCache; - const AdapterPtr &getAdapter(); + const adapter_impl &getAdapter(); ur_context_handle_t getURContext() const; }; } // namespace detail