#include <control.hh>
Public Types | |
using | dag_t = flecsi::utils::dag< typename CONTROL_POLICY::node_t > |
using | node_t = typename dag_t::node_t |
using | point_walker_t = point_walker< control< CONTROL_POLICY > > |
Public Member Functions | |
int | exit_status () const |
int & | exit_status () |
dag_t & | control_point_map (size_t control_point, std::string const &label="default") |
std::vector< node_t > const & | sorted_control_point_map (size_t control_point) |
Static Public Member Functions | |
static control & | instance () |
static int | execute (int argc, char **argv) |
The control type provides a control model for specifying a set of control points as a coarse-grained control flow graph, with each node of the graph specifying a set of actions as a directed acyclic graph (DAG). The actions under a control point DAG are topologically sorted to respect dependency edges, which can be specified through the dag interface.
If Graphviz support is enabled, the control flow graph and its DAG nodes can be written to a graphviz file that can be compiled and viewed using the dot program.
|
inline |
Return the control map for the given control point.
control_point | The control point id or control point. Control points are defined by the specialization. |
|
inlinestatic |
Execute the control flow graph.
argc | The number of command-line arguments. |
argv | The command-line arguments. |
|
inline |
Allow control points to set the exit status for execution.
|
inline |
Allow control points to set the exit status for execution.
|
inlinestatic |
Meyer's singleton.
|
inline |
Return the sorted control map for the given control point.
control_point | The control point id or control point. Control points are defined by the specialization. |