DPC++ Runtime
Runtime libraries for oneAPI DPC++
sycl::_V1::ext::oneapi::experimental::detail::partition Class Reference

#include <detail/graph_impl.hpp>

Collaboration diagram for sycl::_V1::ext::oneapi::experimental::detail::partition:

Public Member Functions

 partition ()
 Constructor. More...
 
bool isHostTask () const
 
bool checkIfGraphIsSinglePath ()
 Checks if the graph is single path, i.e. More...
 
void schedule ()
 Add nodes to MSchedule. More...
 

Public Attributes

std::set< std::weak_ptr< node_impl >, std::owner_less< std::weak_ptr< node_impl > > > MRoots
 List of root nodes. More...
 
std::list< std::shared_ptr< node_impl > > MSchedule
 Execution schedule of nodes in the graph. More...
 
std::unordered_map< sycl::device, sycl::detail::pi::PiExtCommandBufferMPiCommandBuffers
 Map of devices to command buffers. More...
 
std::vector< std::shared_ptr< partition > > MPredecessors
 List of predecessors to this partition. More...
 
bool MIsInOrderGraph = false
 True if the graph of this partition is a single path graph and in-order optmization can be applied on it. More...
 

Detailed Description

Definition at line 805 of file graph_impl.hpp.

Constructor & Destructor Documentation

◆ partition()

sycl::_V1::ext::oneapi::experimental::detail::partition::partition ( )
inline

Constructor.

Definition at line 808 of file graph_impl.hpp.

Member Function Documentation

◆ checkIfGraphIsSinglePath()

bool sycl::_V1::ext::oneapi::experimental::detail::partition::checkIfGraphIsSinglePath ( )
inline

Checks if the graph is single path, i.e.

each node has a single successor.

Returns
True if the graph is a single path

Definition at line 832 of file graph_impl.hpp.

References MRoots, and MSchedule.

◆ isHostTask()

bool sycl::_V1::ext::oneapi::experimental::detail::partition::isHostTask ( ) const
inline
Returns
True if the partition contains a host task

Definition at line 825 of file graph_impl.hpp.

References MRoots.

◆ schedule()

void sycl::_V1::ext::oneapi::experimental::detail::partition::schedule ( )

Add nodes to MSchedule.

Definition at line 175 of file graph_impl.cpp.

References MRoots, and MSchedule.

Member Data Documentation

◆ MIsInOrderGraph

bool sycl::_V1::ext::oneapi::experimental::detail::partition::MIsInOrderGraph = false

True if the graph of this partition is a single path graph and in-order optmization can be applied on it.

Definition at line 822 of file graph_impl.hpp.

◆ MPiCommandBuffers

std::unordered_map<sycl::device, sycl::detail::pi::PiExtCommandBuffer> sycl::_V1::ext::oneapi::experimental::detail::partition::MPiCommandBuffers

Map of devices to command buffers.

Definition at line 817 of file graph_impl.hpp.

◆ MPredecessors

std::vector<std::shared_ptr<partition> > sycl::_V1::ext::oneapi::experimental::detail::partition::MPredecessors

List of predecessors to this partition.

Definition at line 819 of file graph_impl.hpp.

◆ MRoots

std::set<std::weak_ptr<node_impl>, std::owner_less<std::weak_ptr<node_impl> > > sycl::_V1::ext::oneapi::experimental::detail::partition::MRoots

List of root nodes.

Definition at line 812 of file graph_impl.hpp.

Referenced by checkIfGraphIsSinglePath(), isHostTask(), and schedule().

◆ MSchedule

std::list<std::shared_ptr<node_impl> > sycl::_V1::ext::oneapi::experimental::detail::partition::MSchedule

Execution schedule of nodes in the graph.

Definition at line 814 of file graph_impl.hpp.

Referenced by checkIfGraphIsSinglePath(), and schedule().


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