Repository navigation
Conversation
Describe when the graph entry points, urQueueFinish and urEventWait return the graph capture error codes. ur_api.h and the loader sources are regenerated from the yml.
Test six of the graph error codes on in-order and out-of-order queues. Tests that need a newer Level Zero driver are skipped on older ones.
urQueueEndGraphCaptureExp still ends the capture and returns the recorded, invalid graph when it fails with UR_RESULT_ERROR_GRAPH_UNJOINED_FORKS. ur_api.h and the loader sources are regenerated from the yml. URT-1273
The driver ends the capture and hands back the invalid graph even when it fails with unjoined forks. Wrap that graph so it can be destroyed instead of leaking it, and clear the batched queue's capture flag. URT-1273
Keep the host buffers of the rejected blocking enqueue alive until the graph is destroyed, because the failed command may already be recorded. Use a fresh variable for the second urQueueEndGraphCaptureExp call.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Depends on #23710. The first two commits belong to that PR; review only the last two.
When
urQueueEndGraphCaptureExpfails withUR_RESULT_ERROR_GRAPH_UNJOINED_FORKS, the driver still ends the capture and hands back the (invalid) graph. L0v2 dropped that handle and leaked it. Now:phGraphso the application can destroy it, and the spec says so;The returned graph is NEO behaviour (
zeCommandListEndGraphCaptureExtwrites*phGraphbefore returning the error). The L0 spec does not promise it.Tested on BMG with L0 v2 (26.35: 136 pass; 26.31: 122 pass, rest skipped) and v1 (skipped).