12 #ifndef SST_CORE_RANKSYNCPARALLELSKIP_H
13 #define SST_CORE_RANKSYNCPARALLELSKIP_H
15 #include "sst/core/sst_types.h"
16 #include <sst/core/syncManager.h>
17 #include <sst/core/threadsafe.h>
21 #ifdef SST_CONFIG_HAVE_MPI
39 void execute(
int thread);
46 SimTime_t getNextSyncTime() {
return myNextSyncTime; }
48 uint64_t getDataSize()
const;
52 static SimTime_t myNextSyncTime;
56 void exchange_master(
int thread);
57 void exchange_slave(
int thread);
59 struct comm_send_pair {
66 struct comm_recv_pair {
68 uint32_t local_thread;
70 std::vector<Activity*> activity_vec;
73 #ifdef SST_CONFIG_HAVE_MPI
79 typedef std::map<RankInfo, comm_send_pair > comm_send_map_t;
80 typedef std::map<RankInfo, comm_recv_pair > comm_recv_map_t;
81 typedef std::map<LinkId_t, Link*> link_map_t;
84 comm_send_map_t comm_send_map;
85 comm_recv_map_t comm_recv_map;
89 double deserializeTime;
94 std::atomic<int32_t> remaining_deser;
100 void deserializeMessage(comm_recv_pair* msg);
109 #endif // SST_CORE_RANKSYNCPARALLELSKIP_H
A class to convert between a component's view of time and the core's view of time.
Definition: timeConverter.h:25
Definition: syncManager.h:33
RankSyncParallelSkip(RankInfo num_ranks, Core::ThreadSafe::Barrier &barrier, TimeConverter *minPartTC)
Create a new Sync object which fires with a specified period.
Definition: rankSyncParallelSkip.cc:38
Definition: rankSyncParallelSkip.h:30
Definition: rankInfo.h:21
void finalizeLinkConfigurations()
Finish link configuration.
Definition: rankSyncParallelSkip.cc:116
Internal API.
Definition: syncQueue.h:31
Base Class for a queue of Activities.
Definition: activityQueue.h:22
ActivityQueue * registerLink(const RankInfo &to_rank, const RankInfo &from_rank, LinkId_t link_id, Link *link)
Register a Link which this Sync Object is responsible for.
Definition: rankSyncParallelSkip.cc:80
void exchangeLinkInitData(int thread, std::atomic< int > &msg_count)
Cause an exchange of Initialization Data to occur.
Definition: rankSyncParallelSkip.cc:410
Definition: threadsafe.h:42
Link between two components.
Definition: link.h:33