Skip to content

Commit d524f4b

Browse files
authored
[UR][Offload] Port to new event interface (#19578)
1 parent 7b70c16 commit d524f4b

File tree

2 files changed

+16
-13
lines changed

2 files changed

+16
-13
lines changed

unified-runtime/source/adapters/offload/enqueue.cpp

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -67,17 +67,18 @@ UR_APIEXPORT ur_result_t UR_APICALL urEnqueueKernelLaunch(
6767
LaunchArgs.GroupSize.z = GroupSize[2];
6868
LaunchArgs.DynSharedMemory = 0;
6969

70-
ol_event_handle_t EventOut;
7170
ol_queue_handle_t Queue;
7271
OL_RETURN_ON_ERR(hQueue->nextQueue(Queue));
73-
OL_RETURN_ON_ERR(
74-
olLaunchKernel(Queue, hQueue->OffloadDevice, hKernel->OffloadKernel,
75-
hKernel->Args.getStorage(), hKernel->Args.getStorageSize(),
76-
&LaunchArgs, &EventOut));
72+
OL_RETURN_ON_ERR(olLaunchKernel(
73+
Queue, hQueue->OffloadDevice, hKernel->OffloadKernel,
74+
hKernel->Args.getStorage(), hKernel->Args.getStorageSize(), &LaunchArgs));
7775

7876
if (phEvent) {
7977
auto *Event = new ur_event_handle_t_(UR_COMMAND_KERNEL_LAUNCH, hQueue);
80-
Event->OffloadEvent = EventOut;
78+
if (auto Res = olCreateEvent(Queue, &Event->OffloadEvent)) {
79+
delete Event;
80+
return offloadResultToUR(Res);
81+
};
8182
*phEvent = Event;
8283
}
8384
return UR_RESULT_SUCCESS;
@@ -108,22 +109,24 @@ ur_result_t doMemcpy(ur_command_t Command, ur_queue_handle_t hQueue,
108109
//
109110

110111
if (blocking) {
111-
OL_RETURN_ON_ERR(olMemcpy(nullptr, DestPtr, DestDevice, SrcPtr, SrcDevice,
112-
size, nullptr));
112+
OL_RETURN_ON_ERR(
113+
olMemcpy(nullptr, DestPtr, DestDevice, SrcPtr, SrcDevice, size));
113114
if (phEvent) {
114115
*phEvent = ur_event_handle_t_::createEmptyEvent(Command, hQueue);
115116
}
116117
return UR_RESULT_SUCCESS;
117118
}
118119

119-
ol_event_handle_t EventOut = nullptr;
120120
ol_queue_handle_t Queue;
121121
OL_RETURN_ON_ERR(hQueue->nextQueue(Queue));
122-
OL_RETURN_ON_ERR(olMemcpy(Queue, DestPtr, DestDevice, SrcPtr, SrcDevice, size,
123-
phEvent ? &EventOut : nullptr));
122+
OL_RETURN_ON_ERR(
123+
olMemcpy(Queue, DestPtr, DestDevice, SrcPtr, SrcDevice, size));
124124
if (phEvent) {
125125
auto *Event = new ur_event_handle_t_(Command, hQueue);
126-
Event->OffloadEvent = EventOut;
126+
if (auto Res = olCreateEvent(Queue, &Event->OffloadEvent)) {
127+
delete Event;
128+
return offloadResultToUR(Res);
129+
};
127130
*phEvent = Event;
128131
}
129132

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ UR_APIEXPORT ur_result_t UR_APICALL urMemBufferCreate(
5757

5858
if (PerformInitialCopy) {
5959
OL_RETURN_ON_ERR(olMemcpy(nullptr, Ptr, OffloadDevice, HostPtr,
60-
Adapter->HostDevice, size, nullptr));
60+
Adapter->HostDevice, size));
6161
}
6262

6363
*phBuffer = URMemObj.release();

0 commit comments

Comments
 (0)