Skip to content

Commit

Permalink
[SYCL][Graph] Add Graphs printing API to spec
Browse files Browse the repository at this point in the history
Updates the Spec with the proposed API for debug print graph
  • Loading branch information
mfrancepillois committed Oct 27, 2023
1 parent 292309c commit aba998f
Showing 1 changed file with 35 additions and 0 deletions.
35 changes: 35 additions & 0 deletions sycl/doc/extensions/experimental/sycl_ext_oneapi_graph.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -313,6 +313,15 @@ enum class graph_support_level {
emulated
};
enum class graph_debug_print_flag {
none = 0x00,
kernel_args = 0x01, // adds the printing of the kernel args
// where applicable
memory_access_desc = 0x02 // adds the printing of information related to
// the memory access: source address,
// destination address, length, etc.
};
namespace property {
namespace graph {
Expand Down Expand Up @@ -727,6 +736,32 @@ Parameters:

Returns: A new executable graph object which can be submitted to a queue.

|
[source,c++]
----
void
print_dot_graph(const char* path, debug_print_flags flags) const;
----

|Synchronous operation that write to path a DOT formatted description of the
graph. By default this includes the graph topology, node types, node id,
and kernel names.
flags can be specified to write more detailed information about each node type
such as kernel arguments, copy source and destination addresses.
Please report to `debug_print_flags` to have more information of extra debug
info.

Parameters:

* `path` - The path to write the DOT file to.
* `flags` - Flags from debug_print_flags for specifying which additional
node information to write

Exceptions:

* Throws synchronously with error code `invalid` if the path is invalid or
if it failed to write.

|===

Table {counter: tableNumber}. Member functions of the `command_graph` class for queue recording.
Expand Down

0 comments on commit aba998f

Please sign in to comment.