tests/charm++/pingpong: added pipelined test for groups
[charm.git] / tests / charm++ / pingpong / pingpong.ci
index 335b3a4d6bf05397f1422c883a6b7103d0136a8e..2d72a36f32c26dddbe1e21b80125c9f12be0a292 100644 (file)
@@ -1,15 +1,22 @@
 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);
     entry void recv(PingMsg *);
+    entry [threaded] void trecv(PingMsg *);
   };           
   array [2D] Ping2 {
     entry Ping2();
@@ -26,18 +33,27 @@ mainmodule pingpong {
     entry PingC(IdMsg *);
     entry void start(void);
     entry void exchange(IdMsg *);
-    entry void recv(void);
+    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);
   };           
 };