ExaTN
|
Public Member Functions | |
DirectedBoostGraph (const DirectedBoostGraph &)=delete | |
DirectedBoostGraph & | operator= (const DirectedBoostGraph &)=delete |
DirectedBoostGraph (DirectedBoostGraph &&) noexcept=default | |
DirectedBoostGraph & | operator= (DirectedBoostGraph &&) noexcept=default |
VertexIdType | addOperation (std::shared_ptr< TensorOperation > op) override |
void | addDependency (VertexIdType dependent, VertexIdType dependee) override |
bool | dependencyExists (VertexIdType vertex_id1, VertexIdType vertex_id2) override |
TensorOpNode & | getNodeProperties (VertexIdType vertex_id) override |
std::size_t | getNodeDegree (VertexIdType vertex_id) override |
std::size_t | getNumNodes () override |
std::size_t | getNumDependencies () override |
std::vector< VertexIdType > | getNeighborList (VertexIdType vertex_id) override |
void | computeShortestPath (VertexIdType startIndex, std::vector< double > &distances, std::vector< VertexIdType > &paths) override |
void | printIt () override |
const std::string | name () const override |
const std::string | description () const override |
std::shared_ptr< TensorGraph > | clone () override |
![]() | |
TensorGraph (const TensorGraph &)=delete | |
TensorGraph & | operator= (const TensorGraph &)=delete |
TensorGraph (TensorGraph &&) noexcept=default | |
TensorGraph & | operator= (TensorGraph &&) noexcept=default |
void | setNodeExecuting (VertexIdType vertex_id) |
void | setNodeExecuted (VertexIdType vertex_id, int error_code=0) |
void | setNodeIdle (VertexIdType vertex_id) |
bool | nodeExecuting (VertexIdType vertex_id) |
bool | nodeExecuted (VertexIdType vertex_id, int *error_code=nullptr) |
std::size_t | getTensorUpdateCount (const Tensor &tensor) |
void | registerDependencyFreeNode (VertexIdType node_id) |
bool | extractDependencyFreeNode (VertexIdType *node_id) |
void | registerExecutingNode (VertexIdType node_id) |
bool | extractExecutingNode (VertexIdType *node_id) |
bool | progressFrontNode (VertexIdType node_executed) |
VertexIdType | getFrontNode () const |
bool | hasUnexecutedNodes () |
void | lock () |
void | unlock () |
![]() | |
virtual | ~Cloneable () |
Protected Attributes | |
DirectedGraphType | dag_ |
![]() | |
TensorExecState | exec_state_ |
|
overridevirtual |
Adds a directed edge between dependent and dependee DAG nodes: <dependent> depends on <dependee> (dependent –> dependee).
Implements exatn::runtime::TensorGraph.
|
overridevirtual |
Adds a new node (tensor operation) into the DAG and returns its id.
Implements exatn::runtime::TensorGraph.
|
inlineoverridevirtual |
Clones an empty subclass instance (needed for plugin registry).
Implements exatn::runtime::TensorGraph.
|
overridevirtual |
Computes the shortest path from the start index.
Implements exatn::runtime::TensorGraph.
|
overridevirtual |
Returns TRUE if there is a dependency between two DAG nodes: If vertex_id1 node depends on vertex_id2 node.
Implements exatn::runtime::TensorGraph.
|
overridevirtual |
Returns the list of nodes connected to the given DAG node.
Implements exatn::runtime::TensorGraph.
|
overridevirtual |
Returns the number of nodes the given node is connected to.
Implements exatn::runtime::TensorGraph.
|
overridevirtual |
Returns the properties (TensorOpNode) of a given DAG node (by reference). Subsequently, one may need to lock/unlock the returned TensorOpNode in order to ensure a mutually exclusive access to it.
Implements exatn::runtime::TensorGraph.
|
overridevirtual |
Returns the total number of dependencies (directed edges) in the DAG.
Implements exatn::runtime::TensorGraph.
|
overridevirtual |
Returns the total number of nodes in the DAG.
Implements exatn::runtime::TensorGraph.
|
overridevirtual |
Prints the DAG
Implements exatn::runtime::TensorGraph.