NAMD
Sync.h
Go to the documentation of this file.
1 
8 /*
9  Master BOC. coordinates startup, close down of each PE
10  Also owns pointers to common objects needed by system
11  Many utility static methods are owned by Node.
12 */
13 
14 // Sync prevents launching computes until Proxies are populated.
15 
16 #ifndef _SYNC_H
17 #define _SYNC_H
18 
19 #include "charm++.h"
20 
21 #include "ProcessorPrivate.h"
22 #include "Sync.decl.h"
23 
24 class Sync : public CBase_Sync
25 {
26 private:
27  struct _clist {
28  int pid;
29  int step;
30  Compute **cbegin;
31  Compute **cend;
32  int doneMigration;
33  } *clist;
34  const int INCREASE;
35  int capacity;
36 
37  int useSync, useProxySync;
38 
39  int step;
40  int counter;
41  int cnum;
42  int nPatcheReady;
43  int numPatches;
44 
45  char homeReady;
46 
47  void releaseComputes();
48  void triggerCompute();
49 public:
50  Sync(void);
51  ~Sync(void);
52  inline static Sync *Object() { return CkpvAccess(Sync_instance); }
53  void openSync();
54  int holdComputes(PatchID pid, Compute **cbegin, Compute **cend, int doneMigration, int seq);
55  void PatchReady(void);
56 };
57 
58 #endif
Sync(void)
Definition: Sync.C:42
~Sync(void)
Definition: Sync.C:58
void openSync()
Definition: Sync.C:63
Definition: Sync.h:24
static Sync * Object()
Definition: Sync.h:52
void PatchReady(void)
Definition: Sync.C:150
int holdComputes(PatchID pid, Compute **cbegin, Compute **cend, int doneMigration, int seq)
Definition: Sync.C:103
int32 PatchID
Definition: NamdTypes.h:277