add migration data
authorYanhua Sun <sun22@llnl.gov>
Mon, 12 Aug 2013 22:50:58 +0000 (15:50 -0700)
committerYanhua Sun <sun22@llnl.gov>
Mon, 12 Aug 2013 22:50:58 +0000 (15:50 -0700)
tests/charm++/migrate/Makefile
tests/charm++/migrate/migrateHello.C
tests/charm++/migrate/migrateHello.ci

index 447d6ad2260142d6116165085c4d470817bc33f9..409c44e287826cee75d17b7f5a19bc2934ff7ef5 100644 (file)
@@ -17,7 +17,9 @@ migrateHello.o: migrateHello.C migrateHello.decl.h
        $(CHARMC) -c migrateHello.C
 
 test: all
-       ./charmrun ./migrateHello +p2 10000 $(TESTOPTS)
+       ./charmrun ./migrateHello +p2 10000 1 $(TESTOPTS)
+       ./charmrun ./migrateHello +p2 10000 4096 $(TESTOPTS)
+       ./charmrun ./migrateHello +p2 10000 65536 $(TESTOPTS)
 
 bgtest: all
-       ./charmrun ./migrateHello +p2 10000 +x2 +y2 +z1 $(TESTOPTS)
+       ./charmrun ./migrateHello +p2 10000 +x2 +y1 +z1 $(TESTOPTS)
index eb4f43dc6a7210b8d29f5db556589100e7e64963..a9688c0b441c34858916dd48ced07146d2546820 100644 (file)
@@ -3,6 +3,7 @@
 
 /*readonly*/ CProxy_Main mainProxy;
 /*readonly*/ int numIterations;
+/*readonly*/ int dataSize;
 
 /*mainchare*/
 class Main : public CBase_Main
@@ -13,7 +14,9 @@ public:
   {
     //Process command-line arguments
     numIterations=1000;
+    dataSize = 1;
     if(m->argc >1 ) numIterations=atoi(m->argv[1]);
+    if(m->argc >2 ) dataSize=atoi(m->argv[2]);
     delete m;
 
     //Start the computation
@@ -30,9 +33,14 @@ double startTimer;
 /*array [1D]*/
 class MigrateHello : public CBase_MigrateHello
 {
+private:
+    char *data;
+
 public:
   MigrateHello()
   {
+      data = (char*)malloc(dataSize);
+      memset(data, '1', dataSize); 
     //CkPrintf("MigrateHello %d created\n",thisIndex);
   }
 
@@ -52,6 +60,13 @@ public:
       thisProxy[thisIndex].SayHi(hiNo+1);
       migrateMe(1-CkMyPe());
   }
+
+  void pup(PUP::er &p)
+  {
+      CBase_MigrateHello::pup(p);
+      if(p.isUnpacking()) data = (char*)malloc(dataSize);
+      p(data, dataSize);
+  }
 };
 
 #include "migrateHello.def.h"
index 267509796b133322a91d09e9c380aa5ee30b5ece..15fe4e0a65d4614450a90db17ae994df6c182f19 100644 (file)
@@ -2,6 +2,8 @@ mainmodule migrateHello {
   readonly CProxy_Main mainProxy;
   readonly int numIterations;
 
+    readonly int dataSize;
+
   mainchare Main {
     entry Main(CkArgMsg *m);
   };