1 #ifndef PPL_SUBTASK_FLOW_H_
2 #define PPL_SUBTASK_FLOW_H_
6 #include <containers/sequential/graph/graph.h>
22 class SubtaskFlow :
public stapl::sequential::graph<stapl::DIRECTED,
23 stapl::NONMULTIEDGES, FlowNode, SemanticTask::DependencyType> {
33 stapl::dynamic_graph<stapl::DIRECTED,stapl::NONMULTIEDGES,
36 stapl::sequential::graph<stapl::DIRECTED,stapl::NONMULTIEDGES,
41 typedef typename STAPLGraph::vertex_iterator
VI;
77 using STAPLGraph::add_vertex;
78 using STAPLGraph::delete_vertex;
79 using STAPLGraph::add_edge;
80 using STAPLGraph::delete_edge;
96 std::unordered_map<SemanticTask*,size_t> m_taskNodeMap;
100 std::unordered_map<size_t,size_t> m_superNodeMap;
Definition: SemanticTask.h:13
DependencyType
Definition: SemanticTask.h:25
Definition: SubtaskFlow.h:23
VI GetRootIter()
Definition: SubtaskFlow.cpp:116
VI GetFlowNodeIter(SemanticTask *_task)
Definition: SubtaskFlow.cpp:88
~SubtaskFlow()
Definition: SubtaskFlow.cpp:24
STAPLGraph::vertex_iterator VI
Definition: SubtaskFlow.h:41
size_t Size()
Definition: SubtaskFlow.cpp:82
std::pair< std::vector< size_t >, TBDFunction > ParentInfo
Definition: SubtaskFlow.h:29
FlowNode GetFlowNode(size_t _vid)
Definition: SubtaskFlow.cpp:107
stapl::sequential::graph< stapl::DIRECTED, stapl::NONMULTIEDGES, FlowNode, SemanticTask::DependencyType > STAPLGraph
Definition: SubtaskFlow.h:39
void Print()
Definition: SubtaskFlow.cpp:30
SubtaskFlow(SemanticTask *_task)
Definition: SubtaskFlow.cpp:6
size_t GetSuperNode(size_t _vid)
Definition: SubtaskFlow.cpp:122
Definition: SubtaskFlow.h:15
std::vector< size_t > m_subNodes
Definition: SubtaskFlow.h:16
SemanticTask * m_task
Definition: SubtaskFlow.h:17
TBDFunction m_initiationFunction
Definition: SubtaskFlow.h:18
Definition: SubtaskFlow.h:8
Operator
Definition: SubtaskFlow.h:9
@ Min
Definition: SubtaskFlow.h:9
@ Max
Definition: SubtaskFlow.h:9
std::vector< TBDFunction > m_subFunctions
Definition: SubtaskFlow.h:11
std::vector< size_t > m_elems
Definition: SubtaskFlow.h:12
Operator m_operator
Definition: SubtaskFlow.h:10