12 #ifndef SST_CORE_CHECKPOINT_ACTION_H 13 #define SST_CORE_CHECKPOINT_ACTION_H 15 #include "sst/core/action.h" 16 #include "sst/core/config.h" 17 #include "sst/core/cputimer.h" 18 #include "sst/core/output.h" 19 #include "sst/core/rankInfo.h" 20 #include "sst/core/sst_types.h" 21 #include "sst/core/threadsafe.h" 29 class Simulation_impl;
32 namespace Checkpointing {
40 std::string createUniqueDirectory(
const std::string basename);
47 void removeDirectory(
const std::string name);
54 std::string initializeCheckpointInfrastructure(Config* cfg,
bool rt_can_ckpt,
int myRank);
86 SimTime_t
check(SimTime_t current_time);
92 static uint32_t checkpoint_id;
104 double last_cpu_time_;
106 SimTime_t next_sim_time_;
107 std::string dir_format_;
108 std::string file_format_;
113 #endif // SST_CORE_CHECKPOINT_ACTION_H An Action is a schedulable Activity which is not an Event.
Definition: action.h:26
void execute() override
Called by TimeVortex to trigger checkpoint on simulation clock interval - not used in parallel simula...
Definition: checkpointAction.cc:145
Class to contain SST Simulation Configuration variables.
Definition: config.h:51
CheckpointAction(Config *cfg, RankInfo this_rank, Simulation_impl *sim, TimeConverter *period)
Create a new checkpoint object for the simulation core to initiate checkpoints
Definition: checkpointAction.cc:69
A class to convert between a component's view of time and the core's view of time.
Definition: timeConverter.h:27
A recurring event to trigger checkpoint generation.
Definition: checkpointAction.h:62
SimTime_t getNextCheckpointSimTime()
Return next checkpoint time.
Definition: checkpointAction.cc:281
SimTime_t check(SimTime_t current_time)
Called by SyncManager to check whether a checkpoint should be generated.
Definition: checkpointAction.cc:255
Main control class for a SST Simulation.
Definition: simulation_impl.h:122
Definition: rankInfo.h:23
void setCheckpoint()
Generate a checkpoint next time check() is called.
Definition: checkpointAction.cc:275
void insertIntoTimeVortex(Simulation_impl *sim)
Indicates CheckpointAction should be inserted into the TimeVortex.
Definition: checkpointAction.cc:128
Definition: threadsafe.h:49