[UR][L0v2] Implement IPC event sharing (#22445)
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}).
* Adjusted urEventCreateExp for ipc events on top of changes introduced
by reusable-event feature.
* IPC events are not pooled. The primary use case is reusable IPC
events, where the user reuses one event many times, so pooling buys
little. And sharing pooled events across processes is unsafe because a
recycled event hands one process state another process is still relying
on.
* UR_DEVICE_INFO_IPC_EVENT_SUPPORT_EXP is gated on v2/Linux, BMG+, and
latest driver - this might need to be revised in the future.
Conformance tests signal the producer event via APIs introduced by the
reusable-event extension.
Assisted-By: Claude