SST 16.0.0
Structural Simulation Toolkit
SST::SyncManager Class Reference
Inheritance diagram for SST::SyncManager:
SST::Action SST::Activity SST::Core::MemPoolItem SST::Core::Serialization::serializable SST::Core::Serialization::serializable_base

Public Member Functions

 SyncManager (const RankInfo &rank, const RankInfo &num_ranks, SimTime_t min_part, const std::vector< SimTime_t > &interThreadLatencies, RealTimeManager *real_time)
ActivityQueueregisterLink (const RankInfo &to_rank, const RankInfo &from_rank, Link *link)
 Register a Link which this Sync Object is responsible for.
void exchangeLinkInfo ()
void handleShutdown ()
void handleInteractiveConsole ()
SimTime_t findRankSyncInterval ()
SimTime_t findThreadSyncInterval ()
void updateMinPart ()
void execute () override
 Function which will be called when the time for this Activity comes to pass.
void exchangeLinkUntimedData (std::atomic< int > &msg_count)
 Cause an exchange of Initialization Data to occur.
void finalizeLinkConfigurations ()
 Finish link configuration.
void prepareForComplete ()
 Prepare for complete() phase.
void print (const std::string &header, Output &out) const override
uint64_t getDataSize () const
void setRestartTime (SimTime_t time)
std::pair< SimTime_t, SimTime_t > getSyncIntervals ()
void addProfileTool (Profile::SyncProfileTool *tool)
void computeNextInsert (SimTime_t next_checkpoint_time=MAX_SIMTIME_T)
void setupSyncObjects ()
void getSimShutdownFlags (bool &enter_shutdown, Simulation::ShutdownMode_t &shutdown_mode)
void getSimFlags (bool &enter_interactive, bool &enter_shutdown, Simulation::ShutdownMode_t &shutdown_mode, bool &generate_ckpt)
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.
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

Data Fields

NotSerializable(SST::SyncManager) private RankInfo rank_
RankInfo num_ranks_
ThreadSyncthreadSync_
Exitexit_
Simulationsim_
sync_type_t next_sync_type_
SimTime_t min_part_
RealTimeManagerreal_time_
CheckpointActioncheckpoint_
Profile::SyncProfileToolListprofile_tools_ = nullptr

Static Public Attributes

static Core::ThreadSafe::Barrier RankExecBarrier_ [6]
static Core::ThreadSafe::Barrier LinkUntimedBarrier_ [3]
static RankSyncrankSync_ = nullptr
static SimTime_t next_rankSync_ = MAX_SIMTIME_T
static std::atomic< unsigned > ckpt_generate_ { 0 }
static Core::ThreadSafe::Barrier ic_barrier_
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)

Member Function Documentation

◆ exchangeLinkUntimedData()

void SST::SyncManager::exchangeLinkUntimedData ( std::atomic< int > & msg_count)

Cause an exchange of Initialization Data to occur.

Cause an exchange of Untimed Data to occur.

◆ execute()

void SST::SyncManager::execute ( )
overridevirtual

Function which will be called when the time for this Activity comes to pass.

Implements SST::Activity.

References SST::Action::endSimulation(), and SST::Activity::getDeliveryTime().

◆ print()

void SST::SyncManager::print ( const std::string & header,
Output & out ) const
overridevirtual

Reimplemented from SST::Core::MemPoolItem.


The documentation for this class was generated from the following files:
  • src/sst/core/sync/syncManager.h
  • src/sst/core/sync/syncManager.cc