STAPL API Reference          
Overview   Containers   Algorithms   Views   Skeletons   Run-Time System
Modules     Classes    
List of all members | Public Member Functions | Static Public Member Functions
stapl::skeletons::graphviz_env Class Reference

debug environment can be used along with an output stream such as std::cout in order to dump a GraphViz representation of the dependence graph in an output stream. Remember, in the cases that a dynamic (conditional ) dependence graphs such as do_while is used, you have to use this along with a real execution environment such as taskgraph_env More...

Public Member Functions

 graphviz_env (std::string const &name)
 
template<bool isResult, typename WF , typename Mapper , typename... In>
void spawn_element (std::size_t tid, std::size_t result_id, WF &&wf, Mapper &&mapper, std::size_t num_succs, In &&... in) const
 Every spawn_element is converted to a node in the GraphViz output. The label for this node is in the format of tid(num_succs). There is also a color representation which is associated with each task. This color changes based on the location id of each task. This is useful when the load balancing of an algorithm should be checked. Remember that this shows the load of each processor during the task creation process and does not necessarily represent the execution load balance. More...
 
template<bool isResult, typename WF , typename Mapper , typename... In>
void spawn_element (std::size_t tid, std::size_t result_id, std::vector< std::size_t > const &notifications, WF &&wf, Mapper &&mapper, std::size_t num_succs, In &&... in) const
 
template<typename Skeleton , typename... Arg>
void pre_spawn (Skeleton &&skeleton, std::size_t lid_offset, Arg &&...)
 
template<typename Skeleton , typename... Args>
void post_spawn (Skeleton &&skeleton, Args &&... args)
 
void set_num_succs (std::size_t tid, std::size_t num_succs) const
 
void init_location_info (std::size_t num_PEs, runtime::location_id PE_id)
 
std::size_t get_num_PEs () const
 
runtime::location_id get_PE_id () const
 

Static Public Member Functions

static void output_graph (graph_type *graph, std::ostream &o)
 

Detailed Description

debug environment can be used along with an output stream such as std::cout in order to dump a GraphViz representation of the dependence graph in an output stream. Remember, in the cases that a dynamic (conditional ) dependence graphs such as do_while is used, you have to use this along with a real execution environment such as taskgraph_env

See also
do_while
taskgraph_env

Member Function Documentation

◆ spawn_element()

template<bool isResult, typename WF , typename Mapper , typename... In>
void stapl::skeletons::graphviz_env::spawn_element ( std::size_t  tid,
std::size_t  result_id,
WF &&  wf,
Mapper &&  mapper,
std::size_t  num_succs,
In &&...  in 
) const

Every spawn_element is converted to a node in the GraphViz output. The label for this node is in the format of tid(num_succs). There is also a color representation which is associated with each task. This color changes based on the location id of each task. This is useful when the load balancing of an algorithm should be checked. Remember that this shows the load of each processor during the task creation process and does not necessarily represent the execution load balance.

Parameters
tidthe unique id assigned to the node in the graph
result_idresult_id of this task if it has one
wfthe workfunction is discarded in here
mapperthe output to output mapper for mapping the results
num_succsthe exact number of successors for this element. Remember that in some cases this value is set to stapl::defer_specs (when the spawner is in SET_HOLD mode). This number is shown in parenthesis in the output graph.
inthe producer information for the node's input arguments that will be translated as edge in the output graph

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