6734bb511cc4ea5212083a24f1f83e5c6d33f7e9
[charm.git] / src / libs / ck-libs / pose / gvt.ci
1 /// Global Virtual Time estimation for POSE
2 module gvt {
3   /// Global handles ThePVT and TheGVT are declared in gvt.C, used everywhere
4   readonly CkGroupID ThePVT;
5   readonly CkGroupID TheGVT;
6   /// Message to send info to GVT 
7   message UpdateMsg {
8     SRentry SRs[];
9   };
10   /// Message to send GVT estimate back to PVT
11   message GVTMsg;
12   message prioBcMsg;
13
14   /// PVT chare group for computing local processor virtual time 
15   group [migratable] PVT {
16     entry PVT(void);
17     entry void startPhase(prioBcMsg *);
18     entry void startPhaseExp(prioBcMsg *);      // not SMP safe to make this expedited
19     entry void beginCheckpoint(eventMsg *);
20     entry void resumeAfterCheckpoint(eventMsg *);
21     entry [expedited] void setGVT(GVTMsg *);
22     entry [expedited] void reportReduce(UpdateMsg *);
23   };
24
25   /// GVT chare group for estimating GVT
26   group [migratable] GVT {
27     entry GVT(void);
28     entry [expedited] void runGVT(UpdateMsg *);
29     entry [expedited] void computeGVT(UpdateMsg *);
30   };
31 };