12 #ifndef SST_CORE_SYNC_RANKSYNCPARALLELSKIP_H 13 #define SST_CORE_SYNC_RANKSYNCPARALLELSKIP_H 15 #include "sst/core/sst_types.h" 16 #include "sst/core/sync/syncManager.h" 17 #include "sst/core/threadsafe.h" 18 #include "sst/core/warnmacros.h" 22 #ifdef SST_CONFIG_HAVE_MPI 23 DISABLE_WARN_MISSING_OVERRIDE
44 void execute(
int thread)
override;
54 void setSignals(
int end,
int usr,
int alrm)
override;
56 bool getSignals(
int& end,
int& usr,
int& alrm)
override;
58 SimTime_t getNextSyncTime()
override {
return myNextSyncTime; }
60 void setRestartTime(SimTime_t time)
override;
62 uint64_t getDataSize()
const override;
65 static SimTime_t myNextSyncTime;
68 void exchange_master(
int thread);
69 void exchange_slave(
int thread);
85 ImplementSerializable(comm_send_pair)
91 uint32_t local_thread;
93 std::vector<Activity*> activity_vec;
96 #ifdef SST_CONFIG_HAVE_MPI 108 ImplementSerializable(comm_recv_pair)
111 typedef std::map<RankInfo, comm_send_pair> comm_send_map_t;
112 typedef std::map<RankInfo, comm_recv_pair> comm_recv_map_t;
114 typedef std::map<std::string, uintptr_t> link_map_t;
117 comm_send_map_t comm_send_map;
118 comm_recv_map_t comm_recv_map;
122 double deserializeTime;
127 std::atomic<int32_t> remaining_deser;
133 void deserializeMessage(comm_recv_pair* msg);
142 static int sig_alrm_;
147 #endif // SST_CORE_SYNC_RANKSYNCPARALLELSKIP_H This class is basically a wrapper for objects to declare the order in which their members should be s...
Definition: serializer.h:43
Definition: syncManager.h:39
Definition: rankSyncParallelSkip.h:33
bool getSignals(int &end, int &usr, int &alrm) override
Return exchanged signals after sync.
Definition: rankSyncParallelSkip.cc:157
Definition: serializable.h:24
ActivityQueue * registerLink(const RankInfo &to_rank, const RankInfo &from_rank, const std::string &name, Link *link) override
Register a Link which this Sync Object is responsible for.
Definition: rankSyncParallelSkip.cc:92
void finalizeLinkConfigurations() override
Finish link configuration.
Definition: rankSyncParallelSkip.cc:135
void prepareForComplete() override
Prepare for complete() stage.
Definition: rankSyncParallelSkip.cc:145
void setSignals(int end, int usr, int alrm) override
Set signals to exchange during sync.
Definition: rankSyncParallelSkip.cc:149
Definition: rankInfo.h:21
Definition: threadsafe.h:121
Definition: threadsafe.h:253
Definition: syncQueue.h:50
void exchangeLinkUntimedData(int thread, std::atomic< int > &msg_count) override
Cause an exchange of Untimed Data to occur.
Definition: rankSyncParallelSkip.cc:398
Base Class for a queue of Activities.
Definition: activityQueue.h:21
Definition: threadsafe.h:47
Link between two components.
Definition: link.h:51
Definition: threadsafe.h:152