Skip to content

Commit 1c400e4

Browse files
committed
Address pr feedback - make RefCount public and remove getRefCount().
1 parent a40a09b commit 1c400e4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+84
-136
lines changed

unified-runtime/source/adapters/level_zero/adapter.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -675,7 +675,7 @@ ur_result_t urAdapterGet(
675675
}
676676
*Adapters = GlobalAdapter;
677677

678-
if (GlobalAdapter->getRefCount().retain() == 0) {
678+
if (GlobalAdapter->RefCount.retain() == 0) {
679679
adapterStateInit();
680680
}
681681
}
@@ -692,7 +692,7 @@ ur_result_t urAdapterRelease([[maybe_unused]] ur_adapter_handle_t Adapter) {
692692

693693
// NOTE: This does not require guarding with a mutex; the instant the ref
694694
// count hits zero, both Get and Retain are UB.
695-
if (GlobalAdapter->getRefCount().release()) {
695+
if (GlobalAdapter->RefCount.release()) {
696696
auto result = adapterStateTeardown();
697697
#ifdef UR_STATIC_LEVEL_ZERO
698698
// Given static linking of the L0 Loader, we must delay the loader's
@@ -711,7 +711,7 @@ ur_result_t urAdapterRelease([[maybe_unused]] ur_adapter_handle_t Adapter) {
711711

712712
ur_result_t urAdapterRetain([[maybe_unused]] ur_adapter_handle_t Adapter) {
713713
assert(GlobalAdapter && GlobalAdapter == Adapter);
714-
GlobalAdapter->getRefCount().retain();
714+
GlobalAdapter->RefCount.retain();
715715

716716
return UR_RESULT_SUCCESS;
717717
}
@@ -740,7 +740,7 @@ ur_result_t urAdapterGetInfo(ur_adapter_handle_t, ur_adapter_info_t PropName,
740740
case UR_ADAPTER_INFO_BACKEND:
741741
return ReturnValue(UR_BACKEND_LEVEL_ZERO);
742742
case UR_ADAPTER_INFO_REFERENCE_COUNT:
743-
return ReturnValue(GlobalAdapter->getRefCount().getCount());
743+
return ReturnValue(GlobalAdapter->RefCount.getCount());
744744
case UR_ADAPTER_INFO_VERSION: {
745745
#ifdef UR_ADAPTER_LEVEL_ZERO_V2
746746
uint32_t adapterVersion = 2;

unified-runtime/source/adapters/level_zero/adapter.hpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,6 @@ struct ur_adapter_handle_t_ : ur::handle_base<ur::level_zero::ddi_getter> {
4545
logger::Logger &logger;
4646
HMODULE processHandle = nullptr;
4747

48-
ur::RefCount &getRefCount() noexcept { return RefCount; }
49-
50-
private:
5148
ur::RefCount RefCount;
5249
};
5350

unified-runtime/source/adapters/level_zero/async_alloc.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ ur_result_t urEnqueueUSMFreeExp(
247247
}
248248

249249
size_t size = umfPoolMallocUsableSize(hPool, Mem);
250-
(*Event)->getRefCount().retain();
250+
(*Event)->RefCount.retain();
251251
usmPool->AsyncPool.insert(Mem, size, *Event, Queue);
252252

253253
// Signal that USM free event was finished

unified-runtime/source/adapters/level_zero/command_buffer.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -840,13 +840,13 @@ urCommandBufferCreateExp(ur_context_handle_t Context, ur_device_handle_t Device,
840840

841841
ur_result_t
842842
urCommandBufferRetainExp(ur_exp_command_buffer_handle_t CommandBuffer) {
843-
CommandBuffer->getRefCount().retain();
843+
CommandBuffer->RefCount.retain();
844844
return UR_RESULT_SUCCESS;
845845
}
846846

847847
ur_result_t
848848
urCommandBufferReleaseExp(ur_exp_command_buffer_handle_t CommandBuffer) {
849-
if (!CommandBuffer->getRefCount().release())
849+
if (!CommandBuffer->RefCount.release())
850850
return UR_RESULT_SUCCESS;
851851

852852
UR_CALL(waitForOngoingExecution(CommandBuffer));
@@ -1641,7 +1641,7 @@ ur_result_t enqueueImmediateAppendPath(
16411641
if (CommandBuffer->CurrentSubmissionEvent) {
16421642
UR_CALL(urEventReleaseInternal(CommandBuffer->CurrentSubmissionEvent));
16431643
}
1644-
(*Event)->getRefCount().retain();
1644+
(*Event)->RefCount.retain();
16451645
CommandBuffer->CurrentSubmissionEvent = *Event;
16461646

16471647
UR_CALL(Queue->executeCommandList(CommandListHelper, false, false));
@@ -1724,7 +1724,7 @@ ur_result_t enqueueWaitEventPath(ur_exp_command_buffer_handle_t CommandBuffer,
17241724
if (CommandBuffer->CurrentSubmissionEvent) {
17251725
UR_CALL(urEventReleaseInternal(CommandBuffer->CurrentSubmissionEvent));
17261726
}
1727-
(*Event)->getRefCount().retain();
1727+
(*Event)->RefCount.retain();
17281728
CommandBuffer->CurrentSubmissionEvent = *Event;
17291729

17301730
UR_CALL(Queue->executeCommandList(SignalCommandList, false /*IsBlocking*/,
@@ -1848,7 +1848,7 @@ urCommandBufferGetInfoExp(ur_exp_command_buffer_handle_t hCommandBuffer,
18481848

18491849
switch (propName) {
18501850
case UR_EXP_COMMAND_BUFFER_INFO_REFERENCE_COUNT:
1851-
return ReturnValue(uint32_t{hCommandBuffer->getRefCount().getCount()});
1851+
return ReturnValue(uint32_t{hCommandBuffer->RefCount.getCount()});
18521852
case UR_EXP_COMMAND_BUFFER_INFO_DESCRIPTOR: {
18531853
ur_exp_command_buffer_desc_t Descriptor{};
18541854
Descriptor.stype = UR_STRUCTURE_TYPE_EXP_COMMAND_BUFFER_DESC;

unified-runtime/source/adapters/level_zero/command_buffer.hpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -151,8 +151,5 @@ struct ur_exp_command_buffer_handle_t_ : public ur_object {
151151
std::vector<std::unique_ptr<ur_exp_command_buffer_command_handle_t_>>
152152
CommandHandles;
153153

154-
ur::RefCount &getRefCount() noexcept { return RefCount; }
155-
156-
private:
157154
ur::RefCount RefCount;
158155
};

unified-runtime/source/adapters/level_zero/common.hpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -259,9 +259,6 @@ struct MemAllocRecord : ur_object {
259259
// Zero runtime.
260260
ur_context_handle_t Context;
261261

262-
ur::RefCount &getRefCount() noexcept { return RefCount; }
263-
264-
private:
265262
ur::RefCount RefCount;
266263
};
267264

unified-runtime/source/adapters/level_zero/context.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ ur_result_t urContextRetain(
6161

6262
/// [in] handle of the context to get a reference of.
6363
ur_context_handle_t Context) {
64-
Context->getRefCount().retain();
64+
Context->RefCount.retain();
6565
return UR_RESULT_SUCCESS;
6666
}
6767

@@ -113,7 +113,7 @@ ur_result_t urContextGetInfo(
113113
case UR_CONTEXT_INFO_NUM_DEVICES:
114114
return ReturnValue(uint32_t(Context->Devices.size()));
115115
case UR_CONTEXT_INFO_REFERENCE_COUNT:
116-
return ReturnValue(uint32_t{Context->getRefCount().getCount()});
116+
return ReturnValue(uint32_t{Context->RefCount.getCount()});
117117
case UR_CONTEXT_INFO_USM_MEMCPY2D_SUPPORT:
118118
// 2D USM memcpy is supported.
119119
return ReturnValue(uint8_t{UseMemcpy2DOperations});
@@ -251,7 +251,7 @@ ur_device_handle_t ur_context_handle_t_::getRootDevice() const {
251251
// from the list of tracked contexts.
252252
ur_result_t ContextReleaseHelper(ur_context_handle_t Context) {
253253

254-
if (!Context->getRefCount().release())
254+
if (!Context->RefCount.release())
255255
return UR_RESULT_SUCCESS;
256256

257257
if (IndirectAccessTrackingEnabled) {

unified-runtime/source/adapters/level_zero/context.hpp

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -359,7 +359,7 @@ struct ur_context_handle_t_ : ur_object {
359359
// Get handle to the L0 context
360360
ze_context_handle_t getZeHandle() const;
361361

362-
ur::RefCount &getRefCount() noexcept { return RefCount; }
362+
ur::RefCount RefCount;
363363

364364
private:
365365
enum EventFlags {
@@ -407,8 +407,6 @@ struct ur_context_handle_t_ : ur_object {
407407

408408
return &EventCaches[index];
409409
}
410-
411-
ur::RefCount RefCount;
412410
};
413411

414412
// Helper function to release the context, a caller must lock the platform-level

unified-runtime/source/adapters/level_zero/device.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -470,7 +470,7 @@ ur_result_t urDeviceGetInfo(
470470
return ReturnValue((uint32_t)Device->SubDevices.size());
471471
}
472472
case UR_DEVICE_INFO_REFERENCE_COUNT:
473-
return ReturnValue(uint32_t{Device->getRefCount().getCount()});
473+
return ReturnValue(uint32_t{Device->RefCount.getCount()});
474474
case UR_DEVICE_INFO_SUPPORTED_PARTITIONS: {
475475
// SYCL spec says: if this SYCL device cannot be partitioned into at least
476476
// two sub devices then the returned vector must be empty.
@@ -1666,15 +1666,15 @@ ur_result_t urDeviceGetGlobalTimestamps(
16661666
ur_result_t urDeviceRetain(ur_device_handle_t Device) {
16671667
// The root-device ref-count remains unchanged (always 1).
16681668
if (Device->isSubDevice()) {
1669-
Device->getRefCount().retain();
1669+
Device->RefCount.retain();
16701670
}
16711671
return UR_RESULT_SUCCESS;
16721672
}
16731673

16741674
ur_result_t urDeviceRelease(ur_device_handle_t Device) {
16751675
// Root devices are destroyed during the piTearDown process.
16761676
if (Device->isSubDevice()) {
1677-
if (Device->getRefCount().release()) {
1677+
if (Device->RefCount.release()) {
16781678
delete Device;
16791679
}
16801680
}

unified-runtime/source/adapters/level_zero/device.hpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -244,9 +244,6 @@ struct ur_device_handle_t_ : ur_object {
244244
// unique ephemeral identifer of the device in the adapter
245245
std::optional<DeviceId> Id;
246246

247-
ur::RefCount &getRefCount() noexcept { return RefCount; }
248-
249-
private:
250247
ur::RefCount RefCount;
251248
};
252249

unified-runtime/source/adapters/level_zero/event.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -505,7 +505,7 @@ ur_result_t urEventGetInfo(
505505
return ReturnValue(Result);
506506
}
507507
case UR_EVENT_INFO_REFERENCE_COUNT: {
508-
return ReturnValue(Event->getRefCount().getCount());
508+
return ReturnValue(Event->RefCount.getCount());
509509
}
510510
default:
511511
UR_LOG(ERR, "Unsupported ParamName in urEventGetInfo: ParamName={}(0x{})",
@@ -874,7 +874,7 @@ ur_result_t
874874
/// [in] handle of the event object
875875
urEventRetain(/** [in] handle of the event object */ ur_event_handle_t Event) {
876876
Event->RefCountExternal++;
877-
Event->getRefCount().retain();
877+
Event->RefCount.retain();
878878

879879
return UR_RESULT_SUCCESS;
880880
}
@@ -1088,7 +1088,7 @@ ur_event_handle_t_::~ur_event_handle_t_() {
10881088

10891089
ur_result_t urEventReleaseInternal(ur_event_handle_t Event,
10901090
bool *isEventDeleted) {
1091-
if (!Event->getRefCount().release())
1091+
if (!Event->RefCount.release())
10921092
return UR_RESULT_SUCCESS;
10931093

10941094
if (Event->OriginAllocEvent) {
@@ -1524,7 +1524,7 @@ ur_result_t ur_ze_event_list_t::createAndRetainUrZeEventList(
15241524
std::shared_lock<ur_shared_mutex> Lock(CurQueue->LastCommandEvent->Mutex);
15251525
this->ZeEventList[0] = CurQueue->LastCommandEvent->ZeEvent;
15261526
this->UrEventList[0] = CurQueue->LastCommandEvent;
1527-
this->UrEventList[0]->getRefCount().retain();
1527+
this->UrEventList[0]->RefCount.retain();
15281528
TmpListLength = 1;
15291529
} else if (EventListLength > 0) {
15301530
this->ZeEventList = new ze_event_handle_t[EventListLength];
@@ -1660,7 +1660,7 @@ ur_result_t ur_ze_event_list_t::createAndRetainUrZeEventList(
16601660
IsInternal, IsMultiDevice));
16611661
MultiDeviceZeEvent = MultiDeviceEvent->ZeEvent;
16621662
const auto &ZeCommandList = CommandList->first;
1663-
EventList[I]->getRefCount().retain();
1663+
EventList[I]->RefCount.retain();
16641664

16651665
// Append a Barrier to wait on the original event while signalling the
16661666
// new multi device event.
@@ -1676,11 +1676,11 @@ ur_result_t ur_ze_event_list_t::createAndRetainUrZeEventList(
16761676

16771677
this->ZeEventList[TmpListLength] = MultiDeviceZeEvent;
16781678
this->UrEventList[TmpListLength] = MultiDeviceEvent;
1679-
this->UrEventList[TmpListLength]->getRefCount().retain();
1679+
this->UrEventList[TmpListLength]->RefCount.retain();
16801680
} else {
16811681
this->ZeEventList[TmpListLength] = EventList[I]->ZeEvent;
16821682
this->UrEventList[TmpListLength] = EventList[I];
1683-
this->UrEventList[TmpListLength]->getRefCount().retain();
1683+
this->UrEventList[TmpListLength]->RefCount.retain();
16841684
}
16851685

16861686
if (QueueLock.has_value()) {

unified-runtime/source/adapters/level_zero/event.hpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -264,9 +264,6 @@ struct ur_event_handle_t_ : ur_object {
264264
// on async free to indicate when the allocation can be used again.
265265
ur_event_handle_t OriginAllocEvent = nullptr;
266266

267-
ur::RefCount &getRefCount() noexcept { return RefCount; }
268-
269-
private:
270267
ur::RefCount RefCount;
271268
};
272269

unified-runtime/source/adapters/level_zero/kernel.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -787,7 +787,7 @@ ur_result_t urKernelGetInfo(
787787
}
788788
}
789789
case UR_KERNEL_INFO_REFERENCE_COUNT:
790-
return ReturnValue(uint32_t{Kernel->getRefCount().getCount()});
790+
return ReturnValue(uint32_t{Kernel->RefCount.getCount()});
791791
case UR_KERNEL_INFO_ATTRIBUTES:
792792
try {
793793
uint32_t Size;
@@ -938,15 +938,15 @@ ur_result_t urKernelGetSubGroupInfo(
938938
ur_result_t urKernelRetain(
939939
/// [in] handle for the Kernel to retain
940940
ur_kernel_handle_t Kernel) {
941-
Kernel->getRefCount().retain();
941+
Kernel->RefCount.retain();
942942

943943
return UR_RESULT_SUCCESS;
944944
}
945945

946946
ur_result_t urKernelRelease(
947947
/// [in] handle for the Kernel to release
948948
ur_kernel_handle_t Kernel) {
949-
if (!Kernel->getRefCount().release())
949+
if (!Kernel->RefCount.release())
950950
return UR_RESULT_SUCCESS;
951951

952952
auto KernelProgram = Kernel->Program;

unified-runtime/source/adapters/level_zero/kernel.hpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -109,9 +109,6 @@ struct ur_kernel_handle_t_ : ur_object {
109109
ZeCache<ZeStruct<ze_kernel_properties_t>> ZeKernelProperties;
110110
ZeCache<std::string> ZeKernelName;
111111

112-
ur::RefCount &getRefCount() noexcept { return RefCount; }
113-
114-
private:
115112
ur::RefCount RefCount;
116113
};
117114

unified-runtime/source/adapters/level_zero/memory.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1052,7 +1052,7 @@ ur_result_t urEnqueueMemBufferMap(
10521052

10531053
// Add the event to the command list.
10541054
CommandList->second.append(reinterpret_cast<ur_event_handle_t>(*Event));
1055-
(*Event)->getRefCount().retain();
1055+
(*Event)->RefCount.retain();
10561056

10571057
const auto &ZeCommandList = CommandList->first;
10581058
const auto &WaitList = (*Event)->WaitList;
@@ -1183,7 +1183,7 @@ ur_result_t urEnqueueMemUnmap(
11831183
nullptr /*ForcedCmdQueue*/));
11841184

11851185
CommandList->second.append(reinterpret_cast<ur_event_handle_t>(*Event));
1186-
(*Event)->getRefCount().retain();
1186+
(*Event)->RefCount.retain();
11871187

11881188
const auto &ZeCommandList = CommandList->first;
11891189

@@ -1635,14 +1635,14 @@ ur_result_t urMemBufferCreate(
16351635
ur_result_t urMemRetain(
16361636
/// [in] handle of the memory object to get access
16371637
ur_mem_handle_t Mem) {
1638-
Mem->getRefCount().retain();
1638+
Mem->RefCount.retain();
16391639
return UR_RESULT_SUCCESS;
16401640
}
16411641

16421642
ur_result_t urMemRelease(
16431643
/// [in] handle of the memory object to release
16441644
ur_mem_handle_t Mem) {
1645-
if (!Mem->getRefCount().release())
1645+
if (!Mem->RefCount.release())
16461646
return UR_RESULT_SUCCESS;
16471647

16481648
if (Mem->isImage()) {
@@ -1848,7 +1848,7 @@ ur_result_t urMemGetInfo(
18481848
return ReturnValue(size_t{Buffer->Size});
18491849
}
18501850
case UR_MEM_INFO_REFERENCE_COUNT: {
1851-
return ReturnValue(Buffer->getRefCount().getCount());
1851+
return ReturnValue(Buffer->RefCount.getCount());
18521852
}
18531853
default: {
18541854
return UR_RESULT_ERROR_INVALID_ENUMERATION;

unified-runtime/source/adapters/level_zero/memory.hpp

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ struct ur_mem_handle_t_ : ur_object {
9191
// Method to get type of the derived object (image or buffer)
9292
bool isImage() const { return mem_type == mem_type_t::image; }
9393

94-
ur::RefCount &getRefCount() noexcept { return RefCount; }
94+
ur::RefCount RefCount;
9595

9696
protected:
9797
ur_mem_handle_t_(mem_type_t type, ur_context_handle_t Context)
@@ -104,9 +104,6 @@ struct ur_mem_handle_t_ : ur_object {
104104
// Since the destructor isn't virtual, callers must destruct it via ur_buffer
105105
// or ur_image
106106
~ur_mem_handle_t_() {};
107-
108-
private:
109-
ur::RefCount RefCount;
110107
};
111108

112109
struct ur_buffer final : ur_mem_handle_t_ {
@@ -122,7 +119,7 @@ struct ur_buffer final : ur_mem_handle_t_ {
122119
: ur_mem_handle_t_(mem_type_t::buffer, Parent->UrContext), Size(Size),
123120
SubBuffer{{Parent, Origin}} {
124121
// Retain the Parent Buffer due to the Creation of the SubBuffer.
125-
Parent->getRefCount().retain();
122+
Parent->RefCount.retain();
126123
}
127124

128125
// Interop-buffer constructor

0 commit comments

Comments
 (0)