14 #ifndef SST_CORE_SIMULATION_H
15 #define SST_CORE_SIMULATION_H
17 #if !SST_BUILDING_CORE
18 #warning "The Simulation object is being removed as part of the public API and simulation.h will be removed in SST 14"
21 #include "sst/core/output.h"
22 #include "sst/core/rankInfo.h"
23 #include "sst/core/sst_types.h"
24 #include "sst/core/unitAlgebra.h"
29 #define STATALLFLAG "--ALLSTATS--"
Definition: rankInfo.h:22
Main control class for a SST Simulation.
Definition: simulation.h:39
virtual double getCompletePhaseElapsedRealTime() const =0
Get the amount of real-time spent executing the complete phase of the simulation.
virtual RankInfo getRank() const =0
Get this instance's parallel rank.
virtual void printStatus(bool fullStatus)=0
Causes the current status of the simulation to be printed to stderr.
virtual std::string & getOutputDirectory()=0
Returns the output directory of the simulation.
virtual UnitAlgebra getElapsedSimTime() const =0
Return the elapsed simulation time as a time.
virtual UnitAlgebra getEndSimTime() const =0
Return the end simulation time as a time.
virtual SimTime_t getCurrentSimCycle() const =0
Return the current simulation time as a cycle count.
virtual double getRunPhaseElapsedRealTime() const =0
Get the amount of real-time spent executing the run phase of the simulation.
virtual SimulationRunMode getSimulationMode() const =0
Get the run mode of the simulation (e.g.
virtual int getCurrentPriority() const =0
Return the current priority.
virtual SimTime_t getEndSimCycle() const =0
Return the end simulation time as a cycle count.
virtual RankInfo getNumRanks() const =0
Get the number of parallel ranks in the simulation.
virtual void requireLibrary(const std::string &name)=0
Signifies that a library is required for this simulation.
virtual double getInitPhaseElapsedRealTime() const =0
Get the amount of real-time spent executing the init phase of the simulation.
Performs Unit math in full precision.
Definition: unitAlgebra.h:109