From a8e578217a8027225bf48fe97e3705e922ec8ed6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A1bio=20Mestre?= Date: Thu, 2 May 2024 15:07:59 +0100 Subject: [PATCH 1/2] Clarify graph in-order and out-of-order properties --- .../experimental/sycl_ext_oneapi_graph.asciidoc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sycl/doc/extensions/experimental/sycl_ext_oneapi_graph.asciidoc b/sycl/doc/extensions/experimental/sycl_ext_oneapi_graph.asciidoc index ec2bfabfdf0f9..19f7913b44882 100644 --- a/sycl/doc/extensions/experimental/sycl_ext_oneapi_graph.asciidoc +++ b/sycl/doc/extensions/experimental/sycl_ext_oneapi_graph.asciidoc @@ -666,6 +666,14 @@ operation as the runtime can perform optimizations based on the graph structure. After finalization the graph can be submitted for execution on a queue one or more times with reduced overhead. +A `command_graph` can be submitted to both in-order and out-of-order queues. Any +dependencies between the graph and other command-groups submitted to the same +queue will be respected. However, the in-order and out-of-order properties of the +queue have no effect on how the graph itself is executed (e.g. the graph nodes +might execute out-of-order even when using an in-order queue). For further +information about the interaction between queues and graphs +<> + ==== Graph State An instance of a `command_graph` object can be in one of two states: From cbfde2ca1f23c7f637c4f1d3a7f78e587bd9f16a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A1bio=20Mestre?= Date: Mon, 6 May 2024 17:53:21 +0100 Subject: [PATCH 2/2] Address review comments --- .../experimental/sycl_ext_oneapi_graph.asciidoc | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/sycl/doc/extensions/experimental/sycl_ext_oneapi_graph.asciidoc b/sycl/doc/extensions/experimental/sycl_ext_oneapi_graph.asciidoc index 19f7913b44882..bd068da85abca 100644 --- a/sycl/doc/extensions/experimental/sycl_ext_oneapi_graph.asciidoc +++ b/sycl/doc/extensions/experimental/sycl_ext_oneapi_graph.asciidoc @@ -669,10 +669,10 @@ queue one or more times with reduced overhead. A `command_graph` can be submitted to both in-order and out-of-order queues. Any dependencies between the graph and other command-groups submitted to the same queue will be respected. However, the in-order and out-of-order properties of the -queue have no effect on how the graph itself is executed (e.g. the graph nodes -might execute out-of-order even when using an in-order queue). For further -information about the interaction between queues and graphs -<> +queue have no effect on how the nodes within the graph are executed (e.g. the graph +nodes without dependency edges may execute out-of-order even when using an in-order +queue). For further information about how the properties of a queue affect graphs +<> ==== Graph State @@ -884,7 +884,9 @@ Parameters: * `syclQueue` - Queue which provides the SYCL device and context for the graph, which are immutable characteristics of the graph. All other properties of the - queue are ignored for the purposes of graph creation. + queue are ignored for the purposes of graph creation. See the + <> section for more general information + about how queue properties interact with command_graph objects. * `propList` - Optional parameter for passing properties. Valid `command_graph` constructor properties are listed in Section <>.