Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
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
3 changes: 3 additions & 0 deletions unified-runtime/include/ur_api.h

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 16 additions & 0 deletions unified-runtime/include/ur_print.hpp

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

76 changes: 76 additions & 0 deletions unified-runtime/scripts/core/EXP-GRAPH.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
<%
OneApi=tags['$OneApi']
x=tags['$x']
X=x.upper()
%>

.. _experimental-graph:

================================================================================
Graph
================================================================================

.. warning::

Experimental features:

* May be replaced, updated, or removed at any time.
* Do not require maintaining API/ABI stability of their own additions over
time.


Motivation
--------------------------------------------------------------------------------
This extension introduces functionality for recording enqueued operations into a
graph for later execution. Queues can enter graph capture mode, where operations
enqueued to them are recorded into a graph instead of being executed immediately.
This graph can then be instantiated as an executable graph and appended to a queue
multiple times for repeated execution.

API
--------------------------------------------------------------------------------

Enums
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* ${x}_device_info_t
* ${X}_DEVICE_INFO_GRAPH_RECORD_AND_REPLAY_SUPPORT_EXP

Functions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Graph
* ${x}GraphCreateExp
* ${x}GraphInstantiateGraphExp
* ${x}GraphDestroyExp
* ${x}GraphExecutableGraphDestroyExp
* ${x}GraphIsEmptyExp
* ${x}GraphDumpContentsExp
* Queue
* ${x}QueueBeginGraphCaptureExp
* ${x}QueueBeginCaptureIntoGraphExp
* ${x}QueueEndGraphCaptureExp
* ${x}QueueAppendGraphExp
* ${x}QueueIsGraphCaptureEnabledExp

Changelog
--------------------------------------------------------------------------------

+-----------+---------------------------------------------+
| Revision | Changes |
+===========+=============================================+
| 1.0 | Initial Draft |
+-----------+---------------------------------------------+
| 1.1 | Extend ${x}_device_info_t enumerator with |
| | graph record and replay entry. |
+-----------+---------------------------------------------+

Support
--------------------------------------------------------------------------------

Adapters which support this experimental feature *must* return true for the new
``${X}_DEVICE_INFO_GRAPH_RECORD_AND_REPLAY_SUPPORT_EXP`` device info query.

Contributors
--------------------------------------------------------------------------------

* Krzysztof, Filipek `krzysztof.filipek@intel.com <krzysztof.filipek@intel.com>`_
* Krzysztof, Swiecicki `krzysztof.swiecicki@intel.com <krzysztof.swiecicki@intel.com>`_
12 changes: 12 additions & 0 deletions unified-runtime/scripts/core/exp-graph.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,18 @@ type: handle
desc: "Handle of record & replay executable graph object"
name: "$x_exp_executable_graph_handle_t"
--- #--------------------------------------------------------------------------
type: enum
extend: true
typed_etors: true
desc: "Extension enums to $x_device_info_t to support graph record and replay functionality."
name: $x_device_info_t
etors:
- name: GRAPH_RECORD_AND_REPLAY_SUPPORT_EXP
value: "0x2080"
desc: |
[$x_bool_t] returns true if the device supports graph record and replay
functionality.
--- #--------------------------------------------------------------------------
type: function
desc: "Create a new record & replay graph instance explicitly."
class: $xGraph
Expand Down
3 changes: 3 additions & 0 deletions unified-runtime/tools/urinfo/urinfo.hpp

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.