Skip to content
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

[SYCL][Graph] Add implicit queue recording mechanism #377

Closed
wants to merge 3 commits into from
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 13 additions & 2 deletions sycl/doc/extensions/experimental/sycl_ext_oneapi_graph.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -1442,7 +1442,7 @@ The alternative `queue_state::recording` state is used for graph construction.
Instead of being scheduled for execution, command-groups submitted to the queue
are recorded to a graph object as new nodes for each submission. After recording
has finished and the queue returns to the executing state, the recorded commands are
not then executed, they are transparent to any following queue operations. The state
not executed, they are transparent to any following queue operations. The state
of a queue can be queried with `queue::ext_oneapi_get_state()`.

.Queue State Diagram
Expand All @@ -1453,7 +1453,18 @@ graph LR
Recording -->|End Recording| Executing
....

==== Queue Properties
==== Implicit Queue Recording
EwanC marked this conversation as resolved.
Show resolved Hide resolved

Submitting a command-group to a queue can implicitly change its state
EwanC marked this conversation as resolved.
Show resolved Hide resolved
to `queue_state::recording`. This will occur when the command-group depends on
an event that has been returned by a queue in the recording state.
EwanC marked this conversation as resolved.
Show resolved Hide resolved

A queue whose state has been set to `queue_state::recording` using this
mechanism, will behave as if it had been passed as an argument to
`command_graph::begin_recording()`. In particular, its state will not
change again until `command_graph::end_recording()` is called.

EwanC marked this conversation as resolved.
Show resolved Hide resolved
==== Queue Properties;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
==== Queue Properties;
==== Queue Properties


:queue-properties: https://registry.khronos.org/SYCL/specs/sycl-2020/html/sycl-2020.html#sec:queue-properties

Expand Down
Loading