Adding a new map class that can be used to specify VP to PE mappings statically throu...
[charm.git] / src / ck-core / cklocation.ci
1 module CkLocation {
2   extern module CkMarshall;
3
4   message CkArrayElementMigrateMessage {
5         double packData[];
6   };
7
8   group [migratable] CkLocMgr {
9         entry CkLocMgr(CkGroupID map,CkGroupID _lbdb,CkArrayIndexMax numInitial);
10         entry void deliverInline(CkMessage *m);
11         entry [expedited] void immigrate(CkArrayElementMigrateMessage *msg);
12         entry [expedited] void updateLocation(CkArrayIndexMax idx,int nowOnPe);
13         entry void reclaimRemote(CkArrayIndexMax idx,int deletedOnPe);
14         
15         //Load balancing:
16         entry void dummyAtSync(void);
17   };
18   initnode void _CkLocMgrInit(void);
19   
20 //Array Map object support:
21   group [migratable] CkArrayMap {
22   };
23
24   readonly CkGroupID _defaultArrayMapID;
25
26   group [migratable] DefaultArrayMap : CkArrayMap {
27     entry DefaultArrayMap(void);
28   };
29
30   group [migratable] RRMap : CkArrayMap {
31     entry RRMap(void);
32   };
33
34   group [migratable] BlockMap : RRMap {
35     entry BlockMap(void);
36   };
37   group [migratable] CldMap : CkArrayMap {
38     entry CldMap(void);
39   };
40
41  group [migratable] ConfigurableRRMap : RRMap {
42     entry ConfigurableRRMap(void);
43   };
44
45
46   initnode void _propMapInit(void);
47   initproc void _CkMigratable_initInfoInit(void);
48
49   group [migratable] PropMap : CkArrayMap {
50     entry PropMap(void);
51   };
52
53   mainchare CkMapsInit {
54     entry CkMapsInit(CkArgMsg *m);
55   };
56 };