build: fix travis MPI/SMP build
[charm.git] / src / ck-ldb / MetaBalancer.ci
1 module MetaBalancer {
2   readonly CkGroupID _metalb;
3   readonly CkGroupID _metalbred;
4
5   mainchare MetaLBInit {
6     entry MetaLBInit(CkArgMsg *m);
7   };
8
9   initnode void registerLBDataCollection(void);
10   group [migratable] MetaBalancer {
11     entry void MetaBalancer(void);  
12     initnode void initnodeFn();
13
14     entry [expedited, reductiontarget] void ReceiveMinStats(double load[n], int n);
15     entry [expedited] void LoadBalanceDecision(int req_no, int period);
16     entry [expedited] void LoadBalanceDecisionFinal(int req_no, int period);
17     entry [expedited] void ReceiveIterationNo(int);
18     entry [expedited] void RegisterNoObjCallback(int);
19     entry [expedited] void TriggerAdaptiveReduction();
20     entry [expedited] void MetaLBCallLBOnChares();
21     entry [expedited] void MetaLBSetLBOnChares(int switchFrom, int switchTo);
22     entry [expedited] void PreviousAvgLoad(double avg);
23   }
24
25   // This group is used only to handle reduction to obtain the maximum
26   // iteration. This reduction cannot incorporated in MetaBalancer class because
27   // there exists a reduction to collect minimum stats and this would overlap
28   // with that as there is no specific order.
29   group [migratable] MetaBalancerRedn {
30     entry void MetaBalancerRedn(void);
31     entry [expedited, reductiontarget] void ReceiveIterNo(int max_iter);
32     entry void getMaxIter(int);
33   }
34
35 };