SST 15.0
Structural Simulation Toolkit
SST::RankSync Class Referenceabstract
Inheritance diagram for SST::RankSync:
SST::EmptyRankSync SST::RankSyncParallelSkip SST::RankSyncSerialSkip

Public Member Functions

 RankSync (RankInfo num_ranks)
 
virtual ActivityQueueregisterLink (const RankInfo &to_rank, const RankInfo &from_rank, const std::string &name, Link *link)=0
 Register a Link which this Sync Object is responsible for.
 
void exchangeLinkInfo (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 SimTime_t getNextSyncTime ()
 
virtual void setRestartTime (SimTime_t time)
 
TimeConverter getMaxPeriod ()
 
virtual uint64_t getDataSize () const =0
 

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)
 
LinkgetDeliveryLink (Event *ev)
 

Protected Attributes

SimTime_t nextSyncTime
 
TimeConverter max_period
 
const RankInfo num_ranks_
 
std::vector< std::map< std::string, uintptr_t > > link_maps
 

Member Function Documentation

◆ exchangeLinkUntimedData()

virtual void SST::RankSync::exchangeLinkUntimedData ( int thread,
std::atomic< int > & msg_count )
pure virtual

◆ finalizeLinkConfigurations()

virtual void SST::RankSync::finalizeLinkConfigurations ( )
pure virtual

◆ getSignals()

virtual bool SST::RankSync::getSignals ( int & end,
int & usr,
int & alrm )
pure virtual

Return exchanged signals after sync.

Implemented in SST::EmptyRankSync, SST::RankSyncParallelSkip, and SST::RankSyncSerialSkip.

◆ prepareForComplete()

virtual void SST::RankSync::prepareForComplete ( )
pure virtual

◆ registerLink()

virtual ActivityQueue * SST::RankSync::registerLink ( const RankInfo & to_rank,
const RankInfo & from_rank,
const std::string & name,
Link * link )
pure virtual

Register a Link which this Sync Object is responsible for.

Implemented in SST::RankSyncParallelSkip, and SST::RankSyncSerialSkip.

◆ setSignals()

virtual void SST::RankSync::setSignals ( int end,
int usr,
int alrm )
pure virtual

Set signals to exchange during sync.

Implemented in SST::RankSyncParallelSkip, and SST::RankSyncSerialSkip.


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