SST  14.1.0
StructuralSimulationToolkit
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, const std::string &name, Link *link)
 Register a Link which this Sync Object is responsible for.
 
void exchangeLinkInfo ()
 
void execute (void) override
 Function which will be called when the time for this Activity comes to pass. More...
 
void exchangeLinkUntimedData (std::atomic< int > &msg_count)
 Cause an exchange of Initialization Data to occur. More...
 
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)
 
void addProfileTool (Profile::SyncProfileTool *tool)
 
void computeNextInsert (SimTime_t next_checkpoint_time=MAX_SIMTIME_T)
 
void setupSyncObjects ()
 
- Public Member Functions inherited from SST::Action
bool isAction () 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.
 
virtual bool isEvent ()
 
std::string toString () const override
 Get a string represenation of the event. More...
 
- 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. More...
 
- 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_
 
Simulation_implsim_
 
sync_type_t next_sync_type_
 
SimTime_t min_part_
 
RealTimeManagerreal_time_
 
CheckpointActioncheckpoint_
 
SyncProfileToolListprofile_tools_ = nullptr
 

Static Public Attributes

static Core::ThreadSafe::Barrier RankExecBarrier_ [5]
 
static Core::ThreadSafe::Barrier LinkUntimedBarrier_ [3]
 
static RankSyncrankSync_ = nullptr
 
static SimTime_t next_rankSync_ = MAX_SIMTIME_T
 
- 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. More...
 
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. More...
 
void serialize_order (SST::Core::Serialization::serializer &ser) override
 
 ImplementVirtualSerializable (SST::Activity) void setQueueOrder(uint64_t order)
 Set a new Queue order.
 
- 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.

Referenced by SST::Simulation_impl::complete(), and SST::Simulation_impl::initialize().

◆ execute()


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