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;
58 virtual bool isValidSigalrmAction() {
return true; }
104 void initiateInteractive(
const std::string& msg);
109#ifndef SST_ELI_REGISTER_REALTIMEACTION
110#define SST_ELI_REGISTER_REALTIMEACTION(cls, lib, name, version, desc) \
111 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:54
UnitAlgebra getCoreTimeBase() const
Get the core timebase.
Definition realtime.cc:87
UnitAlgebra getElapsedSimTime() const
Return the elapsed simulation time as a time.
Definition realtime.cc:99
void simulationCheckpoint()
Generate a checkpoint.
Definition realtime.cc:165
UnitAlgebra getEndSimTime() const
Return the end simulation time as a time.
Definition realtime.cc:111
uint64_t getSyncQueueDataSize() const
Return the size of the SyncQueue - per-rank.
Definition realtime.cc:147
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:123
uint64_t getTimeVortexMaxDepth() const
Return the max depth of the TimeVortex.
Definition realtime.cc:135
SimTime_t getCurrentSimCycle() const
Return the current simulation time as a cycle count.
Definition realtime.cc:93
Output & getSimulationOutput() const
Return the base simulation Output class instance.
Definition realtime.cc:129
RankInfo getRank() const
Get this instance's parallel rank.
Definition realtime.cc:117
SimTime_t getEndSimCycle() const
Return the end simulation time as a cycle count.
Definition realtime.cc:105
void getMemPoolUsage(int64_t &bytes, int64_t &active_entries)
Return MemPool usage information - per-rank.
Definition realtime.cc:141
void simulationSignalShutdown(bool abnormal)
Inform the simulation that a signal requires a shutdown abnormal indicates whether emergencyShutdown(...
Definition realtime.cc:159
void simulationPrintStatus(bool component_status)
Invokes printStatus on the simulation instance component_status indicates whether printStatus should ...
Definition realtime.cc:153
Performs Unit math in full precision.
Definition unitAlgebra.h:107