-
Notifications
You must be signed in to change notification settings - Fork 807
[SYCL] Don't return last event in ext_oneapi_submit_barrier
#20159
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: sycl
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am a little surprised that a marker event would be slower than actually submitting a barrier. Of course, the adapters/backends could be optimizing the barriers on in-order queues themselves, i.e. by storing the latest event themselves or by submitting markers internally. As such, I am all for dropping the complexity from the runtime.
Yes, L0 adapter has the same optimization, that's why removing optimization from sycl level restores performance, because markers are not inserted, but optimization is still in place at adapter level. |
Problem
As an optimization in
ext_oneapi_submit_barrier
, for in-order queue, when waitlist is empty, we return the last event, if it is available. However, after #18277, we no longer store last event and instead submit a marker to get the last event. And this caused performance regression in some of our internal benchmarks.Solution
Don't return last event and instead submit a barrier with empty waitlist.