Skip to content

Commit f25a248

Browse files
authored
[UR][Offload] Fix waiting on empty events (intel#19920)
The event pointer can be nullptr if the event is a "no-op". This was previously not handled in the `waitOnEvents helper`, now it is.
1 parent 1be0ad2 commit f25a248

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

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

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,15 @@ ol_result_t waitOnEvents(ol_queue_handle_t Queue,
2525
if (NumEvents) {
2626
std::vector<ol_event_handle_t> OlEvents;
2727
OlEvents.reserve(NumEvents);
28+
size_t RealEventCount = 0;
2829
for (size_t I = 0; I < NumEvents; I++) {
29-
OlEvents.push_back(UrEvents[I]->OffloadEvent);
30+
if (UrEvents[I]->OffloadEvent) {
31+
RealEventCount++;
32+
OlEvents.push_back(UrEvents[I]->OffloadEvent);
33+
}
3034
}
3135

32-
return olWaitEvents(Queue, OlEvents.data(), NumEvents);
36+
return olWaitEvents(Queue, OlEvents.data(), RealEventCount);
3337
}
3438
return OL_SUCCESS;
3539
}

0 commit comments

Comments
 (0)