|
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 |
Public Member Functions inherited from exatn::runtime::TensorGraph | |
| 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 () |
Public Member Functions inherited from exatn::Cloneable< TensorGraph > | |
| virtual | ~Cloneable () |
Protected Attributes | |
| DirectedGraphType | dag_ |
Protected Attributes inherited from exatn::runtime::TensorGraph | |
| 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.
1.8.16