The Gaudi Framework  master (ff829712)
Loading...
Searching...
No Matches
concurrency::RankerByDataRealmEccentricity Class Reference

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

Inheritance diagram for concurrency::RankerByDataRealmEccentricity:
Collaboration diagram for concurrency::RankerByDataRealmEccentricity:

Public Member Functions

bool visit (AlgorithmNode &) override
 
void reset () override
 
void recursiveVisit (AlgorithmNode &)
 Depth-first node parser to calculate node eccentricity (only within the data realm of the precedence rules graph)
 
virtual bool visit (DecisionNode &)
 
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 visitEnter (AlgorithmNode &) const
 
virtual bool visitEnter (DataNode &) const
 
virtual bool visitEnter (ConditionNode &) const
 

Public Attributes

uint m_currentDepth { 0 }
 
uint m_maxKnownDepth { 0 }
 

Detailed Description

Definition at line 56 of file Rankers.h.

Member Function Documentation

◆ recursiveVisit()

void concurrency::RankerByDataRealmEccentricity::recursiveVisit ( AlgorithmNode & node)

Depth-first node parser to calculate node eccentricity (only within the data realm of the precedence rules graph)

Definition at line 168 of file Rankers.cpp.

168 {
169
170 m_currentDepth += 1;
171
172 auto& products = node.getOutputDataNodes();
173
174 if ( products.empty() )
176
177 for ( auto p : products )
178 for ( auto algoNode : p->getConsumers() ) recursiveVisit( *algoNode );
179
180 m_currentDepth -= 1;
181 }
void recursiveVisit(AlgorithmNode &)
Depth-first node parser to calculate node eccentricity (only within the data realm of the precedence ...
Definition Rankers.cpp:168

◆ reset()

void concurrency::RankerByDataRealmEccentricity::reset ( )
inlineoverridevirtual

Reimplemented from concurrency::IGraphVisitor.

Definition at line 62 of file Rankers.h.

62 {
65 }

◆ visit() [1/4]

bool concurrency::RankerByDataRealmEccentricity::visit ( AlgorithmNode & node)
overridevirtual

Reimplemented from concurrency::IGraphVisitor.

Definition at line 153 of file Rankers.cpp.

153 {
154
155 // Find eccentricity of the node (only within the data realm of the execution flow graph)
156 recursiveVisit( node );
157
158 float rank = m_maxKnownDepth;
159 node.setRank( rank );
160
161 // Reset visitor for next nodes, if any
162 reset();
163
164 return true;
165 }

◆ visit() [2/4]

virtual bool concurrency::IGraphVisitor::visit ( ConditionNode & )
inlinevirtual

Reimplemented from concurrency::IGraphVisitor.

Definition at line 34 of file IGraphVisitor.h.

34{ return true; }

◆ visit() [3/4]

virtual bool concurrency::IGraphVisitor::visit ( DataNode & )
inlinevirtual

Reimplemented from concurrency::IGraphVisitor.

Definition at line 31 of file IGraphVisitor.h.

31{ return true; }

◆ visit() [4/4]

virtual bool concurrency::IGraphVisitor::visit ( DecisionNode & )
inlinevirtual

Reimplemented from concurrency::IGraphVisitor.

Definition at line 25 of file IGraphVisitor.h.

25{ return true; }

Member Data Documentation

◆ m_currentDepth

uint concurrency::RankerByDataRealmEccentricity::m_currentDepth { 0 }

Definition at line 71 of file Rankers.h.

71{ 0 };

◆ m_maxKnownDepth

uint concurrency::RankerByDataRealmEccentricity::m_maxKnownDepth { 0 }

Definition at line 72 of file Rankers.h.

72{ 0 };

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