14#ifndef SST_CORE_SIMULATION_H
15#define SST_CORE_SIMULATION_H
17#include "sst/core/output.h"
18#include "sst/core/rankInfo.h"
19#include "sst/core/sst_types.h"
20#include "sst/core/unitAlgebra.h"
25#define STATALLFLAG "--ALLSTATS--"
51 __attribute__((deprecated("Element facing
Simulation class APIs are deprecated and have moved to the various "
52 "element base classes. The APIs will be removed in SST 13.")));
56 __attribute__((deprecated("Element facing
Simulation class APIs are deprecated and have moved to the various "
57 "element base classes. The APIs will be removed in SST 13.")));
61 __attribute__((deprecated("Element facing
Simulation class APIs are deprecated and have moved to the various "
62 "element base classes. The APIs will be removed in SST 13.")));
85 __attribute__((deprecated("
getFinalSimTime() has been deprecated and will be removed in SST 13. It has been "
103 virtual
void requireEvent(const std::
string& name) __attribute__((deprecated(
Output object provides consistent method for outputting data to stdout, stderr and/or sst debug file.
Definition: output.h:52
Definition: rankInfo.h:22
Main control class for a SST Simulation.
Definition: simulation.h:35
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.
static TimeLord * getTimeLord(void)
Return the TimeLord associated with this Simulation.
Definition: simulation.cc:61
static Output & getSimulationOutput()
Return the base simulation Output class instance.
Definition: simulation.cc:67
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.
static Simulation * getSimulation()
Return a pointer to the singleton instance of the Simulation.
Definition: simulation.cc:55
virtual Mode_t getSimulationMode() const =0
Get the run mode of the simulation (e.g.
virtual void requireLibrary(const std::string &name)=0
Signifies that a library is required for this simulation.
virtual UnitAlgebra getFinalSimTime() const =0
Return the end simulation time as a time.
virtual double getInitPhaseElapsedRealTime() const =0
Get the amount of real-time spent executing the init phase of the simulation.
virtual void requireEvent(const std::string &name)=0
Signifies that an event type is required for this simulation Causes the Factory to verify that the re...
Mode_t
Type of Run Modes.
Definition: simulation.h:38
@ INIT
Definition: simulation.h:40
@ RUN
Definition: simulation.h:41
@ BOTH
Definition: simulation.h:42
@ UNKNOWN
Definition: simulation.h:39
Class for creating and managing TimeConverter objects.
Definition: timeLord.h:38
Performs Unit math in full precision.
Definition: unitAlgebra.h:109