Add nodegroup ping. If ibverbs, do RDMA ping in nodegroup ping.
[charm.git] / tests / charm++ / pingpong / pingpong.ci
1 mainmodule pingpong {
2   readonly CProxy_main mainProxy;
3   readonly int iterations;
4   readonly int payload;
5   mainchare main {
6     entry main();
7     entry void maindone(void);
8   };
9   message PingMsg{char x[];};
10   message IdMsg;
11   array [1D] Ping1 {
12     entry Ping1();
13     entry void start(void);
14     entry void recv(PingMsg *);
15     entry [threaded] void trecv(PingMsg *);
16   };            
17   array [2D] Ping2 {
18     entry Ping2();
19     entry void start(void);
20     entry void recv(PingMsg *);
21   };            
22   array [3D] Ping3 {
23     entry Ping3();
24     entry void start(void);
25     entry void recv(PingMsg *);
26   };            
27   chare PingC {
28     entry PingC(void);
29     entry PingC(IdMsg *);
30     entry void start(void);
31     entry void exchange(IdMsg *);
32     entry void recvReuse(PingMsg *);
33     entry void recv(PingMsg *);
34     entry [threaded] void trecv(PingMsg *);
35   };
36   group PingG {
37     entry PingG(void);
38     entry void start(void);
39     entry void recv(PingMsg *);
40   }
41   nodegroup PingN {
42     entry PingN(void);
43     entry void start(void);
44     entry void startRDMA(void);
45     entry [exclusive] void recv(PingMsg *);
46     entry [exclusive] void recvHandle(int);
47   }
48   array [Fancy] PingF {
49     entry PingF();
50     entry void start(void);
51     entry void recv(PingMsg *msg);
52   };            
53 };