|
SST 16.0.0
Structural Simulation Toolkit
|
Public Member Functions | |
| RankSync (RankInfo num_ranks) | |
| virtual ActivityQueue * | registerLink (const RankInfo &to_rank, const RankInfo &from_rank, Link *link)=0 |
| Register a Link which this Sync Object is responsible for. | |
| void | exchangeLinkInfo (uint32_t my_rank) |
| SimTime_t | findSyncInterval (uint32_t my_rank) |
| virtual void | execute (int thread)=0 |
| virtual void | exchangeLinkUntimedData (int thread, std::atomic< int > &msg_count)=0 |
| virtual void | finalizeLinkConfigurations ()=0 |
| virtual void | prepareForComplete ()=0 |
| virtual void | setSignals (int end, int usr, int alrm)=0 |
| Set signals to exchange during sync. | |
| virtual bool | getSignals (int &end, int &usr, int &alrm)=0 |
| Return exchanged signals after sync. | |
| virtual void | setShutdownFlags (bool enter_shutdown, Simulation::ShutdownMode_t shutdown_mode)=0 |
| Set interactive flags to exchange during sync. | |
| virtual void | setCkptFlag (bool generate_ckpt)=0 |
| virtual void | setFlags (bool enter_interactive, bool enter_shutdown, Simulation::ShutdownMode_t shutdown_mode)=0 |
| virtual void | getShutdownFlags (bool &enter_shutdown, Simulation::ShutdownMode_t &shutdown_mode)=0 |
| Return exchanged interactive flags after sync. | |
| virtual void | getCkptFlag (bool &generate_ckpt)=0 |
| virtual void | getFlags (bool &enter_interactive, bool &enter_shutdown, Simulation::ShutdownMode_t &shutdown_mode)=0 |
| virtual void | clearFlags ()=0 |
| Clear interactive flags before next run. | |
| virtual SimTime_t | getNextSyncTime () |
| virtual void | setRestartTime (SimTime_t time) |
| void | setMaxPeriod (SimTime_t period) |
| SimTime_t | getMaxPeriod () |
| virtual uint64_t | getDataSize () const =0 |
| virtual void | setProfileToolList (Profile::SyncProfileToolList *UNUSED(profile_list)) |
Protected Member Functions | |
| void | finalizeConfiguration (Link *link) |
| void | prepareForCompleteInt (Link *link) |
| void | sendUntimedData_sync (Link *link, Event *data) |
| void | setLinkDeliveryInfo (Link *link, uintptr_t info) |
| Link * | getDeliveryLink (Event *ev) |
Protected Attributes | |
| SimTime_t | nextSyncTime |
| SimTime_t | max_period |
| const RankInfo | num_ranks_ |
| std::vector< std::vector< std::pair< uint64_t, uintptr_t > > > | link_maps |
| This uses uint64_t because it is used for two different types of data at different times: | |
|
pure virtual |
Clear interactive flags before next run.
Implemented in SST::EmptyRankSync, SST::RankSyncParallelSkip, and SST::RankSyncSerialSkip.
|
pure virtual |
Implemented in SST::RankSyncParallelSkip, and SST::RankSyncSerialSkip.
|
pure virtual |
Implemented in SST::RankSyncParallelSkip, and SST::RankSyncSerialSkip.
|
pure virtual |
Return exchanged interactive flags after sync.
Implemented in SST::RankSyncParallelSkip, and SST::RankSyncSerialSkip.
|
pure virtual |
Return exchanged signals after sync.
Implemented in SST::EmptyRankSync, SST::RankSyncParallelSkip, and SST::RankSyncSerialSkip.
|
pure virtual |
Implemented in SST::RankSyncParallelSkip, and SST::RankSyncSerialSkip.
|
pure virtual |
Register a Link which this Sync Object is responsible for.
Implemented in SST::RankSyncParallelSkip, and SST::RankSyncSerialSkip.
|
pure virtual |
Set interactive flags to exchange during sync.
Implemented in SST::RankSyncParallelSkip, and SST::RankSyncSerialSkip.
|
pure virtual |
Set signals to exchange during sync.
Implemented in SST::RankSyncParallelSkip, and SST::RankSyncSerialSkip.
|
protected |
This uses uint64_t because it is used for two different types of data at different times:
1 - LinkId_t when doing the Link pointer exchange
2 - SimTime_t when doing the Sync interval optimization
In both cases, the uintptr_t is a pointer to a Link
Referenced by SST::RankSyncParallelSkip::registerLink(), and SST::RankSyncSerialSkip::registerLink().