DPC++ Runtime
Runtime libraries for oneAPI DPC++
sycl::_V1::ext::oneapi::experimental::command_graph< State > Class Template Reference

Graph in the modifiable state. More...

#include <sycl/ext/oneapi/experimental/graph.hpp>

Inheritance diagram for sycl::_V1::ext::oneapi::experimental::command_graph< State >:
Collaboration diagram for sycl::_V1::ext::oneapi::experimental::command_graph< State >:

Public Member Functions

 command_graph (const context &SyclContext, const device &SyclDevice, const property_list &PropList={})
 Constructor. More...
 
 command_graph (const queue &SyclQueue, const property_list &PropList={})
 Constructor. More...
 
- Public Member Functions inherited from sycl::_V1::ext::oneapi::experimental::detail::modifiable_command_graph
 modifiable_command_graph (const context &SyclContext, const device &SyclDevice, const property_list &PropList={})
 Constructor. More...
 
 modifiable_command_graph (const queue &SyclQueue, const property_list &PropList={})
 Constructor. More...
 
node add (const property_list &PropList={})
 Add an empty node to the graph. More...
 
template<typename T >
node add (T CGF, const property_list &PropList={})
 Add a command-group node to the graph. More...
 
void make_edge (node &Src, node &Dest)
 Add a dependency between two nodes. More...
 
command_graph< graph_state::executablefinalize (const property_list &PropList={}) const
 Finalize modifiable graph into an executable graph. More...
 
bool begin_recording (queue &RecordingQueue)
 Change the state of a queue to be recording and associate this graph with it. More...
 
bool begin_recording (const std::vector< queue > &RecordingQueues)
 Change the state of multiple queues to be recording and associate this graph with each of them. More...
 
bool end_recording ()
 Set all queues currently recording to this graph to the executing state. More...
 
bool end_recording (queue &RecordingQueue)
 Set a queue currently recording to this graph to the executing state. More...
 
bool end_recording (const std::vector< queue > &RecordingQueues)
 Set multiple queues currently recording to this graph to the executing state. More...
 
void print_graph (const std::string path, bool verbose=false) const
 Synchronous operation that writes a DOT formatted description of the graph to the provided path. More...
 
std::vector< nodeget_nodes () const
 Get a list of all nodes contained in this graph. More...
 
std::vector< nodeget_root_nodes () const
 Get a list of all root nodes (nodes without dependencies) in this graph. More...
 

Friends

template<class T >
sycl::detail::createSyclObjFromImpl (decltype(T::impl) ImplObj)
 

Additional Inherited Members

- Protected Member Functions inherited from sycl::_V1::ext::oneapi::experimental::detail::modifiable_command_graph
 modifiable_command_graph (const std::shared_ptr< detail::graph_impl > &Impl)
 Constructor used internally by the runtime. More...
 
node addImpl (std::function< void(handler &)> CGF, const std::vector< node > &Dep)
 Template-less implementation of add() for CGF nodes. More...
 
node addImpl (const std::vector< node > &Dep)
 Template-less implementation of add() for empty nodes. More...
 
void addGraphLeafDependencies (node Node)
 Adds all graph leaves as dependencies. More...
 
template<class Obj >
decltype(Obj::impl) friend sycl::detail::getSyclObjImpl (const Obj &SyclObject)
 
- Protected Attributes inherited from sycl::_V1::ext::oneapi::experimental::detail::modifiable_command_graph
std::shared_ptr< detail::graph_implimpl
 

Detailed Description

template<graph_state State = graph_state::modifiable>
class sycl::_V1::ext::oneapi::experimental::command_graph< State >

Graph in the modifiable state.

Definition at line 359 of file graph.hpp.

Constructor & Destructor Documentation

◆ command_graph() [1/2]

template<graph_state State = graph_state::modifiable>
sycl::_V1::ext::oneapi::experimental::command_graph< State >::command_graph ( const context SyclContext,
const device SyclDevice,
const property_list PropList = {} 
)
inline

Constructor.

Parameters
SyclContextContext to use for graph.
SyclDeviceDevice all nodes will be associated with.
PropListOptional list of properties to pass.

Definition at line 365 of file graph.hpp.

◆ command_graph() [2/2]

template<graph_state State = graph_state::modifiable>
sycl::_V1::ext::oneapi::experimental::command_graph< State >::command_graph ( const queue SyclQueue,
const property_list PropList = {} 
)
inline

Constructor.

Parameters
SyclQueueQueue to use for the graph device and context.
PropListOptional list of properties to pass.

Definition at line 372 of file graph.hpp.

Friends And Related Function Documentation

◆ sycl::detail::createSyclObjFromImpl

template<graph_state State = graph_state::modifiable>
template<class T >
T sycl::detail::createSyclObjFromImpl ( decltype(T::impl)  ImplObj)
friend

The documentation for this class was generated from the following file: