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