Skip to content

Commit

Permalink
Restore some event limitations, minor wording updates
Browse files Browse the repository at this point in the history
  • Loading branch information
Bensuo committed May 23, 2024
1 parent de3b7a6 commit 8fd7793
Showing 1 changed file with 26 additions and 8 deletions.
34 changes: 26 additions & 8 deletions sycl/doc/extensions/experimental/sycl_ext_oneapi_graph.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -567,9 +567,8 @@ class depends_on {
template<typename... NodeTN>
depends_on(NodeTN... nodes);
depends_on(const event& depEvent);
depends_on(const std::vector<event>& depEvents);
template<typename... EventTN>
depends_on(EventTN... events);
};
}
----
Expand All @@ -581,9 +580,13 @@ be passed here. `depends_on` may be used in two ways:
* Passing nodes from the same `command_graph` which will create dependencies and
graph edges between those nodes and the node being added.

* Passing SYCL events will create runtime dependencies for execution of the
graph node but will only create edges if those events are associated with other
nodes in the same graph.
* Passing SYCL events. If an event represents a recorded node in the same graph,
then a graph edge is created between this node and the other node. Otherwise, a
runtime dependency is created between this node and the command that is
associated with the event.

The only permitted types for `NodeTN` and `EventTN` are `node` and `event`
respectively.

==== Depends-On-All-Leaves Property
[source,c++]
Expand Down Expand Up @@ -1782,6 +1785,21 @@ of failure. The following list describes the behavior that changes during
recording mode. Features not listed below behave the same in recording mode as
they do in non-recording mode.

==== Event Limitations

Other limitations on the events returned from a submission to a queue in the
recording state are:

- Calling `event::get_info<info::event::command_execution_status>()` or
`event::get_profiling_info()` will throw synchronously with error code
`invalid`.

- A host-side wait on the event will throw synchronously with error code
`invalid`.

- Using the event outside of the recording scope will throw synchronously with
error code `invalid`.

==== Queue Limitations

A host-side wait on a queue in the recording state is an error and will
Expand Down Expand Up @@ -2243,8 +2261,8 @@ dynParamAccessor.update(bufferB.get_access());

=== Dynamic Event Update

Example which shows create a dependency between two graphs using dynamic events
which are then updated between executions.
Example which shows how to create a dependency between two graphs using dynamic
events which are then updated between executions.

[source,c++]
----
Expand Down

0 comments on commit 8fd7793

Please sign in to comment.