DPsim
Public Member Functions | List of all members
DPsim::OpenMPLevelScheduler Class Reference
Inheritance diagram for DPsim::OpenMPLevelScheduler:
[legend]
Collaboration diagram for DPsim::OpenMPLevelScheduler:
[legend]

Public Member Functions

 OpenMPLevelScheduler (Int threads=-1, String outMeasurementFile=String())
 
void createSchedule (const CPS::Task::List &tasks, const Edges &inEdges, const Edges &outEdges)
 Creates the schedule for the given dependency graph.
 
void step (Real time, Int timeStepCount)
 Performs a single simulation step.
 
void stop ()
 Called on simulation stop to reliably clean up e.g. running helper threads.
 
- Public Member Functions inherited from DPsim::Scheduler
 Scheduler (CPS::Logger::Level logLevel=CPS::Logger::Level::off)
 
void resolveDeps (CPS::Task::List &tasks, Edges &inEdges, Edges &outEdges)
 
TaskTime getAveragedMeasurement (CPS::Task::Ptr task)
 

Additional Inherited Members

- Public Types inherited from DPsim::Scheduler
typedef std::unordered_map< CPS::Task::Ptr, std::deque< CPS::Task::Ptr > > Edges
 
typedef std::chrono::steady_clock::duration TaskTime
 Time measurement for the task execution.
 
- Static Public Attributes inherited from DPsim::Scheduler
static CPS::AttributeBase::Ptr external
 
- Protected Member Functions inherited from DPsim::Scheduler
void topologicalSort (const CPS::Task::List &tasks, const Edges &inEdges, const Edges &outEdges, CPS::Task::List &sortedTasks)
 Simple topological sort, filtering out tasks that do not need to be executed.
 
void initMeasurements (const CPS::Task::List &tasks)
 
void updateMeasurement (CPS::Task *task, TaskTime time)
 
void writeMeasurements (CPS::String filename)
 Write measurement data to file.
 
void readMeasurements (CPS::String filename, std::unordered_map< CPS::String, TaskTime::rep > &measurements)
 Read measurement data from file to use it for the scheduling.
 
TaskTime getAveragedMeasurement (CPS::Task *task)
 
- Static Protected Member Functions inherited from DPsim::Scheduler
static void levelSchedule (const CPS::Task::List &tasks, const Edges &inEdges, const Edges &outEdges, std::vector< CPS::Task::List > &levels)
 
- Protected Attributes inherited from DPsim::Scheduler
CPS::Task::Ptr mRoot
 
CPS::Logger::Level mLogLevel
 Log level.
 
CPS::Logger::Log mSLog
 Logger.
 

Detailed Description

Definition at line 16 of file OpenMPLevelScheduler.h.


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