-
Notifications
You must be signed in to change notification settings - Fork 120
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
[L0] Interrupt-based event implementation #2334
[L0] Interrupt-based event implementation #2334
Conversation
7835bc8
to
28e7d38
Compare
f7fa435
to
1c3940b
Compare
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.
command_buffer.cpp LGTM
To expose this functionality in UR, we want two ways of enabling low-power events: Queue-wide enabling so all events created on the queue are low-powered. As a property passed to urEnqueueEventsWaitWithBarrier making the resulting event a low-power event. This will require the existing interface to be extended with properties, potentially through a new experimental function. Signed-off-by: Zhang, Winston <[email protected]>
Signed-off-by: Zhang, Winston <[email protected]>
Signed-off-by: Zhang, Winston <[email protected]>
Signed-off-by: Zhang, Winston <[email protected]>
Signed-off-by: Zhang, Winston <[email protected]>
Signed-off-by: Zhang, Winston <[email protected]>
Signed-off-by: Zhang, Winston <[email protected]>
379f325
to
fe798d6
Compare
…eueEventsWaitWithBarrierExt Signed-off-by: Zhang, Winston <[email protected]>
93028f5
to
3a3bc06
Compare
Signed-off-by: Zhang, Winston <[email protected]>
Signed-off-by: Zhang, Winston <[email protected]>
Signed-off-by: Zhang, Winston <[email protected]>
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.
LGTM, thank you for the updates.
Signed-off-by: Zhang, Winston <[email protected]>
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.
Thanks for the syntax fixes.
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.
CI is failing reporting no devices sporadically. It appears unrelated.
URT PR: oneapi-src/unified-runtime#2334 --------- Signed-off-by: Zhang, Winston <[email protected]> Co-authored-by: Martin Morrison-Grant <[email protected]>
eventSyncMode.syncModeFlags = | ||
ZE_INTEL_EVENT_SYNC_MODE_EXP_FLAG_LOW_POWER_WAIT | | ||
ZE_INTEL_EVENT_SYNC_MODE_EXP_FLAG_SIGNAL_INTERRUPT; | ||
ZeEventPoolDesc.pNext = &eventSyncMode; |
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.
Hi! This stores a pointer to a temporary in ZeEventPoolDesc.pNext
, and also potentially (with CounterBasedEventEnabled == true
) overwrites the previously stored value.
To expose this functionality in UR, we want two ways of enabling low-power events:
SYCL/LLVM: intel/llvm#16252