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"
22#include "sst/core/timeConverter.h"
33namespace Checkpointing {
41std::string createUniqueDirectory(
const std::string basename);
48void removeDirectory(
const std::string name);
60std::string initializeCheckpointInfrastructure(Config* cfg,
bool can_ckpt,
int myRank);
95 SimTime_t
check(SimTime_t current_time);
101 static uint32_t checkpoint_id;
113 double last_cpu_time_;
115 SimTime_t next_sim_time_;
116 std::string dir_format_;
117 std::string file_format_;
A recurring event to trigger checkpoint generation.
Definition checkpointAction.h:69
void setCheckpoint()
Generate a checkpoint next time check() is called.
Definition checkpointAction.cc:280
bool getCheckpoint()
Get checkpoint flag.
Definition checkpointAction.cc:275
SimTime_t getNextCheckpointSimTime()
Return next checkpoint time.
Definition checkpointAction.cc:286
CheckpointAction(Config *cfg, RankInfo this_rank, Simulation *sim, TimeConverter period)
Create a new checkpoint object for the simulation core to initiate checkpoints.
Definition checkpointAction.cc:69
void execute() override
Called by TimeVortex to trigger checkpoint on simulation clock interval - not used in parallel simula...
Definition checkpointAction.cc:145
void insertIntoTimeVortex(Simulation *sim)
Indicates CheckpointAction should be inserted into the TimeVortex.
Definition checkpointAction.cc:128
SimTime_t check(SimTime_t current_time)
Called by SyncManager to check whether a checkpoint should be generated.
Definition checkpointAction.cc:255
Class to contain SST Simulation Configuration variables.
Definition config.h:52
Definition threadsafe.h:50
Main control class for a SST Simulation.
Definition simulation.h:121
A class to convert between a component's view of time and the core's view of time.
Definition timeConverter.h:31