From 46ae4871368d7265e3f825f872d498a5dfb3295c Mon Sep 17 00:00:00 2001 From: "Agarwal, Udit" Date: Fri, 4 Jul 2025 19:18:11 +0200 Subject: [PATCH 1/2] [SYCL][NFC] Make sycl_mem_obj::getAdapter() return by reference --- sycl/source/detail/buffer_impl.cpp | 6 +++--- sycl/source/detail/sycl_mem_obj_t.cpp | 21 ++++++++++----------- sycl/source/detail/sycl_mem_obj_t.hpp | 2 +- 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/sycl/source/detail/buffer_impl.cpp b/sycl/source/detail/buffer_impl.cpp index 676f49a63007d..98b8ad057ffa5 100644 --- a/sycl/source/detail/buffer_impl.cpp +++ b/sycl/source/detail/buffer_impl.cpp @@ -52,11 +52,11 @@ void buffer_impl::addInteropObject( if (std::find(Handles.begin(), Handles.end(), ur::cast(MInteropMemObject)) == Handles.end()) { - const AdapterPtr &Adapter = getAdapter(); - Adapter->call( + adapter_impl &Adapter = getAdapter(); + Adapter.call( ur::cast(MInteropMemObject)); ur_native_handle_t NativeHandle = 0; - Adapter->call(MInteropMemObject, nullptr, + Adapter.call(MInteropMemObject, nullptr, &NativeHandle); Handles.push_back(NativeHandle); } diff --git a/sycl/source/detail/sycl_mem_obj_t.cpp b/sycl/source/detail/sycl_mem_obj_t.cpp index 87fc643459b18..91a8f82a2103d 100644 --- a/sycl/source/detail/sycl_mem_obj_t.cpp +++ b/sycl/source/detail/sycl_mem_obj_t.cpp @@ -36,20 +36,20 @@ SYCLMemObjT::SYCLMemObjT(ur_native_handle_t MemObject, MSharedPtrStorage(nullptr), MHostPtrProvided(true), MOwnNativeHandle(OwnNativeHandle) { ur_context_handle_t Context = nullptr; - const AdapterPtr &Adapter = getAdapter(); + adapter_impl &Adapter = getAdapter(); ur_mem_native_properties_t MemProperties = { UR_STRUCTURE_TYPE_MEM_NATIVE_PROPERTIES, nullptr, OwnNativeHandle}; - Adapter->call( + Adapter.call( MemObject, MInteropContext->getHandleRef(), &MemProperties, &MInteropMemObject); // Get the size of the buffer in bytes - Adapter->call(MInteropMemObject, UR_MEM_INFO_SIZE, + Adapter.call(MInteropMemObject, UR_MEM_INFO_SIZE, sizeof(size_t), &MSizeInBytes, nullptr); - Adapter->call(MInteropMemObject, UR_MEM_INFO_CONTEXT, + Adapter.call(MInteropMemObject, UR_MEM_INFO_CONTEXT, sizeof(Context), &Context, nullptr); if (MInteropContext->getHandleRef() != Context) @@ -84,7 +84,7 @@ SYCLMemObjT::SYCLMemObjT(ur_native_handle_t MemObject, MSharedPtrStorage(nullptr), MHostPtrProvided(true), MOwnNativeHandle(OwnNativeHandle) { ur_context_handle_t Context = nullptr; - const AdapterPtr &Adapter = getAdapter(); + adapter_impl &Adapter = getAdapter(); ur_image_desc_t Desc = {}; Desc.stype = UR_STRUCTURE_TYPE_IMAGE_DESC; @@ -101,11 +101,11 @@ SYCLMemObjT::SYCLMemObjT(ur_native_handle_t MemObject, ur_mem_native_properties_t NativeProperties = { UR_STRUCTURE_TYPE_MEM_NATIVE_PROPERTIES, nullptr, OwnNativeHandle}; - Adapter->call( + Adapter.call( MemObject, MInteropContext->getHandleRef(), &Format, &Desc, &NativeProperties, &MInteropMemObject); - Adapter->call(MInteropMemObject, UR_MEM_INFO_CONTEXT, + Adapter.call(MInteropMemObject, UR_MEM_INFO_CONTEXT, sizeof(Context), &Context, nullptr); if (MInteropContext->getHandleRef() != Context) @@ -157,14 +157,13 @@ void SYCLMemObjT::updateHostMemory() { releaseHostMem(MShadowCopy); if (MOpenCLInterop) { - const AdapterPtr &Adapter = getAdapter(); - Adapter->call(MInteropMemObject); + getAdapter().call(MInteropMemObject); } } -const AdapterPtr &SYCLMemObjT::getAdapter() const { +adapter_impl &SYCLMemObjT::getAdapter() const { assert((MInteropContext != nullptr) && "Trying to get Adapter from SYCLMemObjT with nullptr ContextImpl."); - return (MInteropContext->getAdapter()); + return *(MInteropContext->getAdapter()); } bool SYCLMemObjT::isInterop() const { return MOpenCLInterop; } diff --git a/sycl/source/detail/sycl_mem_obj_t.hpp b/sycl/source/detail/sycl_mem_obj_t.hpp index a0b5c6b24f529..e5f8b7a4d3bda 100644 --- a/sycl/source/detail/sycl_mem_obj_t.hpp +++ b/sycl/source/detail/sycl_mem_obj_t.hpp @@ -90,7 +90,7 @@ class SYCLMemObjT : public SYCLMemObjI { virtual ~SYCLMemObjT() = default; - const AdapterPtr &getAdapter() const; + adapter_impl &getAdapter() const; size_t getSizeInBytes() const noexcept override { return MSizeInBytes; } __SYCL2020_DEPRECATED("get_count() is deprecated, please use size() instead") From 40086d1728ec861f14256f39533e8eec59e58493 Mon Sep 17 00:00:00 2001 From: "Agarwal, Udit" Date: Fri, 4 Jul 2025 19:19:23 +0200 Subject: [PATCH 2/2] clang-format --- sycl/source/detail/buffer_impl.cpp | 2 +- sycl/source/detail/sycl_mem_obj_t.cpp | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/sycl/source/detail/buffer_impl.cpp b/sycl/source/detail/buffer_impl.cpp index 98b8ad057ffa5..48389490e956d 100644 --- a/sycl/source/detail/buffer_impl.cpp +++ b/sycl/source/detail/buffer_impl.cpp @@ -57,7 +57,7 @@ void buffer_impl::addInteropObject( ur::cast(MInteropMemObject)); ur_native_handle_t NativeHandle = 0; Adapter.call(MInteropMemObject, nullptr, - &NativeHandle); + &NativeHandle); Handles.push_back(NativeHandle); } } diff --git a/sycl/source/detail/sycl_mem_obj_t.cpp b/sycl/source/detail/sycl_mem_obj_t.cpp index 91a8f82a2103d..11b00538b14ac 100644 --- a/sycl/source/detail/sycl_mem_obj_t.cpp +++ b/sycl/source/detail/sycl_mem_obj_t.cpp @@ -46,11 +46,10 @@ SYCLMemObjT::SYCLMemObjT(ur_native_handle_t MemObject, // Get the size of the buffer in bytes Adapter.call(MInteropMemObject, UR_MEM_INFO_SIZE, - sizeof(size_t), &MSizeInBytes, - nullptr); + sizeof(size_t), &MSizeInBytes, nullptr); Adapter.call(MInteropMemObject, UR_MEM_INFO_CONTEXT, - sizeof(Context), &Context, nullptr); + sizeof(Context), &Context, nullptr); if (MInteropContext->getHandleRef() != Context) throw sycl::exception( @@ -106,7 +105,7 @@ SYCLMemObjT::SYCLMemObjT(ur_native_handle_t MemObject, &NativeProperties, &MInteropMemObject); Adapter.call(MInteropMemObject, UR_MEM_INFO_CONTEXT, - sizeof(Context), &Context, nullptr); + sizeof(Context), &Context, nullptr); if (MInteropContext->getHandleRef() != Context) throw sycl::exception(