SST 16.0.0
Structural Simulation Toolkit
SST::CheckpointAction Class Reference

A recurring event to trigger checkpoint generation. More...

#include <checkpointAction.h>

Inheritance diagram for SST::CheckpointAction:
SST::Action SST::Activity SST::Core::MemPoolItem SST::Core::Serialization::serializable SST::Core::Serialization::serializable_base

Public Member Functions

 CheckpointAction (Config *cfg, RankInfo this_rank, Simulation *sim, TimeConverter period)
 Create a new checkpoint object for the simulation core to initiate checkpoints.
void insertIntoTimeVortex (Simulation *sim)
 Indicates CheckpointAction should be inserted into the TimeVortex.
bool getCheckpoint ()
 Get checkpoint flag.
void setCheckpoint ()
 Generate a checkpoint next time check() is called.
void execute () override
 Called by TimeVortex to trigger checkpoint on simulation clock interval - not used in parallel simulation.
SimTime_t check (SimTime_t current_time)
 Called by SyncManager to check whether a checkpoint should be generated.
SimTime_t getNextCheckpointSimTime ()
 Return next checkpoint time.
 NotSerializable (SST::CheckpointAction)
Public Member Functions inherited from SST::Action
bool isEvent () const override final
bool isAction () const override final
Public Member Functions inherited from SST::Activity
void setDeliveryTime (SimTime_t time)
 Set the time for which this Activity should be delivered.
SimTime_t getDeliveryTime () const
 Return the time at which this Activity will be delivered.
int getPriority () const
 Return the Priority of this Activity.
void setOrderTag (uint32_t tag)
 Sets the order tag.
uint32_t getOrderTag () const
 Return the order tag associated with this activity.
uint64_t getQueueOrder () const
 Returns the queue order associated with this activity.
std::string toString () const override
 Get a string represenation of the event.
void setQueueOrder (uint64_t order)
 Set a new Queue order.
virtual void copyAllDeliveryInfo (const Activity *act)
Public Member Functions inherited from SST::Core::MemPoolItem
void * operator new (std::size_t size) noexcept
 Allocates memory from a memory pool for a new Activity.
void operator delete (void *ptr)
 Returns memory for this Activity to the appropriate memory pool.
virtual void print (const std::string &header, Output &out) const
Public Member Functions inherited from SST::Core::Serialization::serializable_base
virtual const char * cls_name () const =0
virtual uint32_t cls_id () const =0
virtual std::string serialization_name () const =0

Static Public Attributes

static Core::ThreadSafe::Barrier barrier
static uint32_t checkpoint_id = 1
Static Public Attributes inherited from SST::Core::Serialization::serializable
static constexpr uint32_t NullClsId = std::numeric_limits<uint32_t>::max()
Static Public Attributes inherited from SST::Core::Serialization::serializable_base
static constexpr uint32_t NullClsId = std::numeric_limits<uint32_t>::max()

Additional Inherited Members

Protected Types inherited from SST::Core::Serialization::serializable_base
enum  cxn_flag_t { ConstructorFlag }
Protected Member Functions inherited from SST::Action
void endSimulation ()
 Called to signal to the Simulation object to end the simulation.
void endSimulation (SimTime_t end)
 Called to signal to the Simulation object to end the simulation.
void serialize_order (SST::Core::Serialization::serializer &ser) override
Protected Member Functions inherited from SST::Activity
void setPriority (uint64_t priority)
 Set the priority of the Activity.
std::string getDeliveryTimeInfo () const
 Gets the delivery time info as a string.
void serialize_order (SST::Core::Serialization::serializer &ser) override
 ImplementVirtualSerializable (SST::Activity)
Static Protected Member Functions inherited from SST::Core::Serialization::serializable_base
static void serializable_abort (uint32_t line, const char *file, const char *func, const char *obj)

Detailed Description

A recurring event to trigger checkpoint generation.

Member Function Documentation

◆ execute()

void SST::CheckpointAction::execute ( )
overridevirtual

Called by TimeVortex to trigger checkpoint on simulation clock interval - not used in parallel simulation.

Implements SST::Activity.

References SST::Simulation::getSimulation(), and SST::Simulation::insertActivity().

◆ insertIntoTimeVortex()

void SST::CheckpointAction::insertIntoTimeVortex ( Simulation * sim)

Indicates CheckpointAction should be inserted into the TimeVortex.

The insertion will only happen for serial runs, as CheckpointAction is managed by the SyncManager in parallel runs.

References SST::Simulation::getNumRanks(), and SST::Simulation::insertActivity().


The documentation for this class was generated from the following files: