12#ifndef SST_CORE_REAL_TIME_ACTION_H
13#define SST_CORE_REAL_TIME_ACTION_H
15#include "sst/core/eli/elementinfo.h"
16#include "sst/core/serialization/serializable.h"
17#include "sst/core/sst_types.h"
18#include "sst/core/threadsafe.h"
19#include "sst/core/warnmacros.h"
34 SST_ELI_DECLARE_BASE(RealTimeAction)
35 SST_ELI_DECLARE_DEFAULT_INFO_EXTERN()
36 SST_ELI_DECLARE_DEFAULT_CTOR_EXTERN()
38 RealTimeAction() =
default;
40 virtual ~RealTimeAction() =
default;
45 virtual void begin(time_t UNUSED(scheduled_time)) {}
46 virtual void execute() = 0;
63 virtual bool isValidSigalrmAction() {
return true; }
109 void initiateInteractive(
const std::string& msg);
114#ifndef SST_ELI_REGISTER_REALTIMEACTION
115#define SST_ELI_REGISTER_REALTIMEACTION(cls, lib, name, version, desc) \
116 SST_ELI_REGISTER_DERIVED(SST::RealTimeAction,cls,lib,name,ELI_FORWARD_AS_ONE(version),desc)
Output object provides consistent method for outputting data to stdout, stderr and/or sst debug file.
Definition output.h:58
UnitAlgebra getCoreTimeBase() const
Get the core timebase.
Definition realtime.cc:89
UnitAlgebra getElapsedSimTime() const
Return the elapsed simulation time as a time.
Definition realtime.cc:101
virtual bool canInitiateInteractive()
Lets the core know if this action may trigger an interactive console.
Definition realtimeAction.h:60
void simulationCheckpoint()
Generate a checkpoint.
Definition realtime.cc:167
UnitAlgebra getEndSimTime() const
Return the end simulation time as a time.
Definition realtime.cc:113
uint64_t getSyncQueueDataSize() const
Return the size of the SyncQueue - per-rank.
Definition realtime.cc:149
virtual bool canInitiateCheckpoint()
Let's the core know if this action may trigger a checkpoint so that all the checkpoint infrastructure...
Definition realtimeAction.h:55
RankInfo getNumRanks() const
Get the number of parallel ranks in the simulation.
Definition realtime.cc:125
uint64_t getTimeVortexMaxDepth() const
Return the max depth of the TimeVortex.
Definition realtime.cc:137
SimTime_t getCurrentSimCycle() const
Return the current simulation time as a cycle count.
Definition realtime.cc:95
Output & getSimulationOutput() const
Return the base simulation Output class instance.
Definition realtime.cc:131
RankInfo getRank() const
Get this instance's parallel rank.
Definition realtime.cc:119
SimTime_t getEndSimCycle() const
Return the end simulation time as a cycle count.
Definition realtime.cc:107
void getMemPoolUsage(int64_t &bytes, int64_t &active_entries)
Return MemPool usage information - per-rank.
Definition realtime.cc:143
void simulationSignalShutdown(bool abnormal)
Inform the simulation that a signal requires a shutdown abnormal indicates whether emergencyShutdown(...
Definition realtime.cc:161
void simulationPrintStatus(bool component_status)
Invokes printStatus on the simulation instance component_status indicates whether printStatus should ...
Definition realtime.cc:155
Performs Unit math in full precision.
Definition unitAlgebra.h:107