Go to the documentation of this file.
11 #ifndef GAUDIHIVE_PRECEDENCESVC_H_
12 #define GAUDIHIVE_PRECEDENCESVC_H_
21 #include <boost/filesystem.hpp>
91 "Dump task precedence traces for each event." };
93 this,
"PrecedenceTraceFile",
"",
94 "Override default name of the GRAPHML trace file. NOTE: if more than "
95 "1 event is processed, the setting forces creation of a single file "
96 "with cumulative precedence trace." };
99 "Override default name of the GRAPHML precedence rules file." };
101 "Verify task precedence rules for common errors." };
103 "Show the configuration of DataFlow between Algorithms" };
A service to resolve the task execution precedence.
Gaudi::Property< bool > m_dumpPrecRules
void dumpPrecedenceTrace(const EventSlot &) override
Dump precedence trace (available only in DEBUG mode, and must be enabled with the corresponding servi...
void dumpPrecedenceRules(const EventSlot &) override
Dump precedence rules (available only in DEBUG mode, and must be enabled with the corresponding servi...
concurrency::PrecedenceRulesGraph m_PRGraph
Graph of precedence rules.
bool isBlocking(const std::string &name) const override
Check if a task is CPU-blocking.
Gaudi::Property< std::string > m_dumpPrecTraceFile
PrecedenceSvc(const std::string &name, ISvcLocator *svcLoc)
Constructor.
StatusCode assembleCFRules(Gaudi::Algorithm *, const std::string &, unsigned int recursionDepth=0)
Class representing an event slot.
const concurrency::PrecedenceRulesGraph * getRules() const
Precedence rules accessor.
const std::string printState(EventSlot &) const override
StatusCode initialize() override
Initialize.
Gaudi::Property< bool > m_verifyRules
SmartIF< IAlgResourcePool > m_algResourcePool
A shortcut to the algorithm resource pool.
StatusCode simulate(EventSlot &) const override
Simulate execution flow.
void dumpDataFlow() const override
const std::string & name() const override
Retrieve name of the service
boost::filesystem::path m_dumpDirName
Precedence analysis facilities.
Base class from which all concrete algorithm classes should be derived.
bool CFRulesResolved(EventSlot &) const override
Check if the root CF decision is resolved.
Gaudi::Property< bool > m_dumpPrecTrace
Base class used to extend a class implementing other interfaces.
StatusCode iterate(EventSlot &, const Cause &) override
Infer the precedence effect caused by an execution flow event.
AlgorithmNode * getAlgorithmNode(const std::string &algoName) const
Get the AlgorithmNode from by algorithm name using graph index.
Gaudi::Property< bool > m_ignoreDFRules
Scheduling strategy.
Gaudi::Property< std::string > m_dumpPrecRulesFile
const float & getRank() const
Get Algorithm rank.
void dumpControlFlow() const override
Dump precedence rules.
uint getPriority(const std::string &name) const override
Get priority of an algorithm.
Gaudi::Property< bool > m_showDataFlow
bool isBlocking() const
Check if algorithm is CPU-blocking.
Gaudi::Property< std::string > m_mode
Scheduling strategy.
SmartIF< ISvcLocator > & serviceLocator() const override
Retrieve pointer to service locator
StatusCode finalize() override
Finalize.