SST
14.1.0
StructuralSimulationToolkit
|
Public Member Functions | |
SyncManager (const RankInfo &rank, const RankInfo &num_ranks, SimTime_t min_part, const std::vector< SimTime_t > &interThreadLatencies, RealTimeManager *real_time) | |
ActivityQueue * | registerLink (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_ |
ThreadSync * | threadSync_ |
Exit * | exit_ |
Simulation_impl * | sim_ |
sync_type_t | next_sync_type_ |
SimTime_t | min_part_ |
RealTimeManager * | real_time_ |
CheckpointAction * | checkpoint_ |
SyncProfileToolList * | profile_tools_ = nullptr |
Static Public Attributes | |
static Core::ThreadSafe::Barrier | RankExecBarrier_ [5] |
static Core::ThreadSafe::Barrier | LinkUntimedBarrier_ [3] |
static RankSync * | rankSync_ = 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) |
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().
|
overridevirtual |
Function which will be called when the time for this Activity comes to pass.
Implements SST::Activity.
References SST::CheckpointAction::check(), SST::Action::endSimulation(), SST::Activity::getDeliveryTime(), SST::Exit::getEndTime(), SST::RankSync::getSignals(), SST::ThreadSync::getSignals(), SST::RealTimeManager::performSignal(), SST::RankSync::setSignals(), and SST::ThreadSync::setSignals().