tests/charm++/pingpong: added pipelined test for groups
[charm.git] / tests / charm++ / pingpong / pingpong.ci
index fd56e0f669c39b5521fe2a6c7b559b7274e7dbc7..2d72a36f32c26dddbe1e21b80125c9f12be0a292 100644 (file)
@@ -1,11 +1,17 @@
 mainmodule pingpong {
   readonly CProxy_main mainProxy;
+  readonly int iterations;
+  readonly int payload;
   mainchare main {
-    entry main();
+    entry main(CkArgMsg *);
     entry void maindone(void);
   };
-  message PingMsg;
+  message PingMsg{char x[];};
+  message FragMsg{
+    char x[];
+  };
   message IdMsg;
+
   array [1D] Ping1 {
     entry Ping1();
     entry void start(void);
@@ -29,16 +35,25 @@ mainmodule pingpong {
     entry void exchange(IdMsg *);
     entry void recvReuse(PingMsg *);
     entry void recv(PingMsg *);
-    entry [threaded] void trecv(void);
+    entry [threaded] void trecv(PingMsg *);
   };
   group PingG {
     entry PingG(void);
-    entry void start(void);
+    entry void start(bool isPipelined, bool copy, int fragSize);
     entry void recv(PingMsg *);
+    entry void pipelinedRecv(FragMsg *); 
+  }
+  nodegroup PingN {
+    entry PingN(void);
+    entry void start(void);
+    entry void startRDMA(void);
+    entry [exclusive] void recv(PingMsg *);
+    entry [exclusive] void recvRDMA();
+    entry [exclusive] void recvHandle(char ptr[size], int size);
   }
   array [Fancy] PingF {
     entry PingF();
     entry void start(void);
-    entry void recv(void);
+    entry void recv(PingMsg *msg);
   };           
 };