Merge branch 'charm' of charmgit:charm into charm
[charm.git] / src / ck-cp / controlPoints.ci
1 module ControlPoints {
2
3   readonly CProxy_controlPointManager controlPointManagerProxy;
4   readonly int random_seed;
5   readonly long controlPointSamplePeriod;
6   readonly int whichTuningScheme;
7   readonly bool shouldGatherMemoryUsage;
8   readonly bool shouldGatherUtilization;
9   readonly bool shouldGatherAll;
10
11   initproc void registerCPReductions(void);     
12
13
14  message controlPointMsg { 
15          char data[];
16  };
17
18
19  message redistributor2DMsg {  
20         double data[]; 
21  }; 
22  
23
24   mainchare controlPointMain {
25     entry controlPointMain(CkArgMsg*);
26   };
27
28  initnode void controlPointInitNode();
29
30  group controlPointManager {
31     entry controlPointManager();
32
33     entry void requestMemoryUsage(CkCallback cb);
34     entry void gatherMemoryUsage(CkReductionMsg *msg);
35
36     entry void requestIdleTime(CkCallback cb);
37     entry void gatherIdleTime(CkReductionMsg *msg);
38
39     entry void requestAll(CkCallback cb);
40     entry void gatherAll(CkReductionMsg *msg);
41   
42  }   
43
44
45  
46   array [2D] redistributor2D {
47    entry redistributor2D(void);
48
49    entry void startup();        
50    
51     entry void resizeGranules(int, int);
52     entry void receiveTransposeData(redistributor2DMsg *msg);
53
54   } 
55
56
57
58
59 };