Skip to content

Commit 5334afc

Browse files
romanovvladbader
authored andcommitted
[SYCL] Update scheduler API in event methods
Updated event::get_wait_list, event::wait_and_throw and event::wait to use new scheduler. Signed-off-by: Vlad Romanov <[email protected]>
1 parent 40ce2a7 commit 5334afc

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

sycl/source/detail/event_impl.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,13 +84,23 @@ void event_impl::wait(
8484
// go via the slow path event waiting in the scheduler
8585
waitInternal();
8686
else
87+
#ifdef SCHEDULER_20
88+
detail::Scheduler::getInstance().waitForEvent(std::move(Self));
89+
#else
8790
simple_scheduler::Scheduler::getInstance().waitForEvent(Self);
91+
#endif
8892
}
8993

9094
void event_impl::wait_and_throw(
9195
std::shared_ptr<cl::sycl::detail::event_impl> Self) {
9296
wait(Self);
97+
#ifdef SCHEDULER_20
98+
for (auto &EventImpl :
99+
detail::Scheduler::getInstance().getWaitList(std::move(Self)))
100+
EventImpl->getQueue()->throw_asynchronous();
101+
#else
93102
cl::sycl::simple_scheduler::Scheduler::getInstance().throwForEvent(Self);
103+
#endif
94104
}
95105

96106
template <>

sycl/source/event.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,17 @@ void event::wait_and_throw(const vector_class<event> &EventList) {
5050
}
5151

5252
vector_class<event> event::get_wait_list() {
53+
#ifdef SCHEDULER_20
54+
vector_class<event> Result;
55+
56+
for (auto &EventImpl : detail::Scheduler::getInstance().getWaitList(impl))
57+
Result.push_back(detail::createSyclObjFromImpl<event>(EventImpl));
58+
59+
return Result;
60+
#else
5361
return cl::sycl::simple_scheduler::Scheduler::getInstance().
5462
getDepEvents(impl);
63+
#endif
5564
}
5665

5766
event::event(std::shared_ptr<detail::event_impl> event_impl)

0 commit comments

Comments
 (0)