SST  14.0.0
StructuralSimulationToolkit
SST::SyncManager Class Reference
Inheritance diagram for SST::SyncManager:
SST::Action SST::Activity SST::Core::MemPoolItem SST::Core::Serialization::serializable

Public Member Functions

 SyncManager (const RankInfo &rank, const RankInfo &num_ranks, TimeConverter *minPartTC, SimTime_t min_part, const std::vector< SimTime_t > &interThreadLatencies)
 
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 addProfileTool (Profile::SyncProfileTool *tool)
 
void serialize_order (SST::Core::Serialization::serializer &ser) override
 
void computeNextInsert ()
 
- 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. 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
virtual const char * cls_name () const =0
 
virtual uint32_t cls_id () const =0
 
virtual std::string serialization_name () const =0
 

Data Fields

ImplementSerializable(SST::SyncManager) private RankInfo rank
 
RankInfo num_ranks
 
ThreadSyncthreadSync
 
Exitexit
 
Simulation_implsim
 
sync_type_t next_sync_type
 
SimTime_t min_part
 
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 Public Attributes inherited from SST::Core::Serialization::serializable
static constexpr uint32_t NullClsId = std::numeric_limits<uint32_t>::max()
 

Additional Inherited Members

- Protected Types inherited from SST::Core::Serialization::serializable
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...
 
- 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...
 
 ImplementVirtualSerializable (SST::Activity) void setQueueOrder(uint64_t order)
 Set a new Queue order.
 
- Static Protected Member Functions inherited from SST::Core::Serialization::serializable
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()

void SST::SyncManager::execute ( void  )
overridevirtual

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

Implements SST::Activity.

References SST::Action::endSimulation(), and SST::Exit::getEndTime().


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