llvm
60722307 - [UR][L0v2] Fork-join pattern (#22333)

Commit
35 days ago
[UR][L0v2] Fork-join pattern (#22333) The L0v2 out-of-order queue uses 4 command list managers but records graph capture only on manager 0. Two paths broke the fork-join pattern: 1. Routing — getNextCommandListId() round-robined operations to an arbitrary command list. An op waiting on an event from a capturing queue could land on a non-capture list, escaping capture, so queueIsGraphCaptureEnabledExp returned false. Fixed by routing such ops to the capture command list when any wait event comes from a capturing queue. 2. Barrier — enqueueEventsWaitWithBarrier() cross-links all command lists via per-list barrier events. During capture this would fork the other lists without joining them back, producing a capture error. Fixed by applying the barrier on the capture list only while capture is active. Removes the UUR_KNOWN_FAILURE_ON(LevelZeroV2) guard from the ForkJoinPattern conformance test. --------- Co-authored-by: Krzysztof Swiecicki <krzysztof.swiecicki@intel.com>
Author
Parents
Loading