added initial section multicast.
[charm.git] / examples / charm++ / PMEMimic / PMEMimic_Parallel / PMEMimic.ci
1 mainmodule PMEMimic {
2   readonly CProxy_Main mainProxy;
3
4   readonly int     N;
5   readonly int     grid_x;
6   readonly int     grid_y;
7   readonly int     grid_z;
8   readonly int     pes_per_node;
9   readonly int     grain_size;
10   readonly int     max_iter;
11   readonly CProxy_PMEPencil_X pme_x;
12   readonly CProxy_PMEPencil_Y pme_y;
13   readonly CProxy_PMEPencil_Z pme_z;
14
15   readonly CkGroupID mCastGrpId;
16
17   group PMEMap : CkArrayMap {
18       entry PMEMap(int); 
19   }
20
21   mainchare Main {
22     entry Main(CkArgMsg *m);
23     entry void done();
24   };
25
26   message DataMsg;
27
28   array [3D] PMEPencil_X {
29     entry PMEPencil_X(int);
30     entry void start();
31     entry void recvTrans( DataMsg *m);
32     entry void cb_client(CkReductionMsg *msg);
33   };        
34  
35   array [3D] PMEPencil_Y {
36     entry PMEPencil_Y(int);
37     entry void start();
38     entry void recvTrans( DataMsg *m);
39     entry void cb_client(CkReductionMsg *msg);
40   }; 
41
42   array [3D] PMEPencil_Z {
43     entry PMEPencil_Z(int);
44     entry void start();
45     entry void recvTrans( DataMsg *m);
46     entry void cb_client(CkReductionMsg *msg);
47   };  
48
49 };