You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[UR][L0v2] Implement IPC event sharing in the Level Zero v2 adapter
Adds the producer/consumer side of UR's IPC event extension on top of
Level Zero's counter-based event IPC APIs (zeEventCounterBased{Create,
Get/Open/CloseIpcHandle}).
* urEventCreateExp handles UR_EXP_EVENT_FLAG_IPC_EXP only; the non-IPC
reusable-event path is left to PR #22349. IPC + profiling is
rejected.
* IPC events are not pooled. The primary use case is IPC + reusable
events, where the user reuses one event many times, so pool reuse
buys little; and sharing pooled events across processes is unsafe
because a recycled event hands one process state another process
is still relying on. The producer wraps a freshly-created
ze_event_handle_t; the consumer uses a dedicated raii variant whose
destructor calls zeEventCounterBasedCloseIpcHandle, so
urEventRelease tears the imported event down correctly with no
separate close entry point.
* UR_DEVICE_INFO_IPC_EVENT_SUPPORT_EXP is gated on v2/Linux, BMG+,
and latest driver - this might need to be revised eventually.
Conformance tests signal the producer event via Level Zero directly so
they do not depend on the reusable-event extension.
Assisted-By: Claude
0 commit comments