Skip to content

Commit 4134bfc

Browse files
[L0] Ensured zeEventHostSignal be called on counter based events
Signed-off-by: Zhang, Winston <winston.zhang@intel.com>
1 parent ba97401 commit 4134bfc

File tree

3 files changed

+15
-8
lines changed

3 files changed

+15
-8
lines changed

source/adapters/level_zero/command_buffer.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -933,7 +933,8 @@ UR_APIEXPORT ur_result_t UR_APICALL urCommandBufferEnqueueExp(
933933
MustSignalWaitEvent = false;
934934
}
935935
}
936-
if (MustSignalWaitEvent) {
936+
if (MustSignalWaitEvent &&
937+
!CommandBuffer->WaitEvent->CounterBasedEventsEnabled) {
937938
ZE2UR_CALL(zeEventHostSignal, (CommandBuffer->WaitEvent->ZeEvent));
938939
}
939940

source/adapters/level_zero/event.cpp

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,8 @@ UR_APIEXPORT ur_result_t UR_APICALL urEnqueueEventsWait(
128128
if (OutEvent) {
129129
Queue->LastCommandEvent = reinterpret_cast<ur_event_handle_t>(*OutEvent);
130130

131-
ZE2UR_CALL(zeEventHostSignal, ((*OutEvent)->ZeEvent));
131+
if (!(*OutEvent)->CounterBasedEventsEnabled)
132+
ZE2UR_CALL(zeEventHostSignal, ((*OutEvent)->ZeEvent));
132133
(*OutEvent)->Completed = true;
133134
}
134135
}
@@ -763,7 +764,8 @@ UR_APIEXPORT ur_result_t UR_APICALL urExtEventCreate(
763764
UR_CALL(EventCreate(Context, nullptr, false, true, Event));
764765

765766
(*Event)->RefCountExternal++;
766-
ZE2UR_CALL(zeEventHostSignal, ((*Event)->ZeEvent));
767+
if (!(*Event)->CounterBasedEventsEnabled)
768+
ZE2UR_CALL(zeEventHostSignal, ((*Event)->ZeEvent));
767769
return UR_RESULT_SUCCESS;
768770
}
769771

@@ -781,7 +783,8 @@ UR_APIEXPORT ur_result_t UR_APICALL urEventCreateWithNativeHandle(
781783
UR_CALL(EventCreate(Context, nullptr, false, true, Event));
782784

783785
(*Event)->RefCountExternal++;
784-
ZE2UR_CALL(zeEventHostSignal, ((*Event)->ZeEvent));
786+
if (!(*Event)->CounterBasedEventsEnabled)
787+
ZE2UR_CALL(zeEventHostSignal, ((*Event)->ZeEvent));
785788
return UR_RESULT_SUCCESS;
786789
}
787790

@@ -1337,7 +1340,8 @@ ur_result_t _ur_ze_event_list_t::createAndRetainUrZeEventList(
13371340

13381341
zeCommandListAppendWaitOnEvents(ZeCommandList, 1u,
13391342
&EventList[I]->ZeEvent);
1340-
zeEventHostSignal(MultiDeviceZeEvent);
1343+
if (!MultiDeviceEvent->CounterBasedEventsEnabled)
1344+
zeEventHostSignal(MultiDeviceZeEvent);
13411345

13421346
UR_CALL(Queue->executeCommandList(CommandList, /* IsBlocking */ false,
13431347
/* OkToBatchCommand */ true));

source/adapters/level_zero/memory.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -943,7 +943,8 @@ UR_APIEXPORT ur_result_t UR_APICALL urEnqueueMemBufferMap(
943943
}
944944

945945
// Signal this event
946-
ZE2UR_CALL(zeEventHostSignal, (ZeEvent));
946+
if (!(*Event)->CounterBasedEventsEnabled)
947+
ZE2UR_CALL(zeEventHostSignal, (ZeEvent));
947948
(*Event)->Completed = true;
948949
return UR_RESULT_SUCCESS;
949950
}
@@ -1077,8 +1078,9 @@ UR_APIEXPORT ur_result_t UR_APICALL urEnqueueMemUnmap(
10771078
if (Buffer->MapHostPtr)
10781079
memcpy(ZeHandleDst + MapInfo.Offset, MappedPtr, MapInfo.Size);
10791080

1080-
// Signal this event
1081-
ZE2UR_CALL(zeEventHostSignal, (ZeEvent));
1081+
// Signal this event if it is not using counter based events
1082+
if (!(*Event)->CounterBasedEventsEnabled)
1083+
ZE2UR_CALL(zeEventHostSignal, (ZeEvent));
10821084
(*Event)->Completed = true;
10831085
return UR_RESULT_SUCCESS;
10841086
}

0 commit comments

Comments
 (0)