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
23DISABLE_WARN_MISSING_OVERRIDE
43 void execute(
int thread)
override;
52 SimTime_t getNextSyncTime()
override {
return myNextSyncTime; }
54 uint64_t getDataSize()
const override;
57 static SimTime_t myNextSyncTime;
60 void exchange_master(
int thread);
61 void exchange_slave(
int thread);
74 uint32_t local_thread;
76 std::vector<Activity*> activity_vec;
79#ifdef SST_CONFIG_HAVE_MPI
84 typedef std::map<RankInfo, comm_send_pair> comm_send_map_t;
85 typedef std::map<RankInfo, comm_recv_pair> comm_recv_map_t;
87 typedef std::map<std::string, uintptr_t> link_map_t;
90 comm_send_map_t comm_send_map;
91 comm_recv_map_t comm_recv_map;
95 double deserializeTime;
100 std::atomic<int32_t> remaining_deser;
106 void deserializeMessage(comm_recv_pair* msg);
Base Class for a queue of Activities.
Definition: activityQueue.h:22
Definition: threadsafe.h:48
Definition: threadsafe.h:153
Definition: threadsafe.h:254
Link between two components.
Definition: link.h:38
Definition: rankInfo.h:22
Definition: rankSyncParallelSkip.h:34
void finalizeLinkConfigurations() override
Finish link configuration.
Definition: rankSyncParallelSkip.cc:128
void exchangeLinkUntimedData(int thread, std::atomic< int > &msg_count) override
Cause an exchange of Untimed Data to occur.
Definition: rankSyncParallelSkip.cc:367
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:93
void prepareForComplete() override
Prepare for complete() stage.
Definition: rankSyncParallelSkip.cc:138
Definition: syncManager.h:38
Internal API.
Definition: syncQueue.h:30
A class to convert between a component's view of time and the core's view of time.
Definition: timeConverter.h:27