The Gaudi Framework  v36r16 (ea80daf8)
concurrency::RankerByTiming Class Reference

#include </builds/gaudi/Gaudi/GaudiHive/src/PRGraph/Visitors/Rankers.h>

Inheritance diagram for concurrency::RankerByTiming:
Collaboration diagram for concurrency::RankerByTiming:

Public Member Functions

bool visit (AlgorithmNode &) override
 
virtual bool visit (DecisionNode &)
 
virtual bool visit (AlgorithmNode &)
 
virtual bool visit (DataNode &)
 
virtual bool visit (ConditionNode &)
 
- Public Member Functions inherited from concurrency::IGraphVisitor
virtual ~IGraphVisitor ()=default
 
virtual bool visitEnter (DecisionNode &) const
 
virtual bool visit (DecisionNode &)
 
virtual bool visitEnter (AlgorithmNode &) const
 
virtual bool visitEnter (DataNode &) const
 
virtual bool visit (DataNode &)
 
virtual bool visitEnter (ConditionNode &) const
 
virtual bool visit (ConditionNode &)
 
virtual void reset ()
 

Detailed Description

Definition at line 41 of file Rankers.h.

Member Function Documentation

◆ visit() [1/5]

virtual bool concurrency::IGraphVisitor::visit
inline

Definition at line 29 of file IGraphVisitor.h.

29 { return true; };

◆ visit() [2/5]

bool concurrency::RankerByTiming::visit ( AlgorithmNode node)
overridevirtual

Reimplemented from concurrency::IGraphVisitor.

Definition at line 84 of file Rankers.cpp.

84  {
85 
86  std::ifstream myfile;
87  myfile.open( "InputExecutionPlan.graphml", std::ios::in );
88 
89  precedence::PrecTrace execPlan;
90  using boost::get;
92 
93  boost::dynamic_properties dp;
94  dp.property( "name", get( &AlgoTraceProps::m_name, execPlan ) );
95  dp.property( "index", get( &AlgoTraceProps::m_index, execPlan ) );
96  dp.property( "dataRank", get( &AlgoTraceProps::m_rank, execPlan ) );
97  dp.property( "runtime", get( &AlgoTraceProps::m_runtime, execPlan ) );
98 
99  boost::read_graphml( myfile, execPlan, dp );
100 
101  typedef boost::graph_traits<precedence::PrecTrace>::vertex_iterator itV;
103 
104  for ( vp = boost::vertices( execPlan ); vp.first != vp.second; ++vp.first ) {
105  precedence::AlgoTraceVertex v = *vp.first;
106  auto index = get( &AlgoTraceProps::m_name, execPlan );
107  if ( index[v] == node.name() ) {
108  auto index_runtime = get( &AlgoTraceProps::m_runtime, execPlan );
109  float rank = index_runtime[v];
110  node.setRank( rank );
111  // std::cout << "Rank of " << index[v] << " is " << rank << std::endl;
112  }
113  }
114  return true;
115  }

◆ visit() [3/5]

virtual bool concurrency::IGraphVisitor::visit
inline

Definition at line 35 of file IGraphVisitor.h.

35 { return true; };

◆ visit() [4/5]

virtual bool concurrency::IGraphVisitor::visit
inline

Definition at line 32 of file IGraphVisitor.h.

32 { return true; };

◆ visit() [5/5]

virtual bool concurrency::IGraphVisitor::visit
inline

Definition at line 26 of file IGraphVisitor.h.

26 { return true; };

The documentation for this class was generated from the following files:
std::pair
precedence::PrecTrace
boost::adjacency_list< boost::vecS, boost::vecS, boost::bidirectionalS, AlgoTraceProps > PrecTrace
Definition: PrecedenceRulesGraph.h:62
precedence::AlgoTraceVertex
boost::graph_traits< PrecTrace >::vertex_descriptor AlgoTraceVertex
Definition: PrecedenceRulesGraph.h:63
Gaudi::Functional::details::get
auto get(const Handle &handle, const Algo &, const EventContext &) -> decltype(details::deref(handle.get()))
Definition: FunctionalDetails.h:444
std::ifstream::open
T open(T... args)
precedence::AlgoTraceProps
Definition: PrecedenceRulesGraph.h:49
HistoDumpEx.v
v
Definition: HistoDumpEx.py:27
std::ifstream
STL class.