MPI Interop related changes - adding interface function
authorNikhil Jain <nikhil@illinois.edu>
Fri, 26 Oct 2012 17:53:55 +0000 (12:53 -0500)
committerNikhil Jain <nikhil@illinois.edu>
Fri, 26 Oct 2012 17:53:55 +0000 (12:53 -0500)
doc/charm++/mpi-interop.tex
examples/charm++/mpi-coexist/libs/hello/hello.C
examples/charm++/mpi-coexist/libs/hi/hi.C
examples/charm++/mpi-coexist/libs/kNeighbor/kNeighbor.C
src/ck-core/mpi-interoperate.C
src/ck-core/mpi-interoperate.h

index b34442b33b9f6ff15c0a49c09599afb9f4467aca..8affa2cbaa727f19a2b270d190b00c3b4ce44ba9 100644 (file)
@@ -59,7 +59,7 @@ void HelloStart(int elems)
   CkPrintf("HelloStart - Starting lib by calling constructor of MainHello\\n");
   CProxy\_MainHello mainhello = CProxy\_MainHello::ckNew(elems);
   \}
-  CsdScheduler(-1);
+  StartCharmScheduler(-1);
 \}
 \end{alltt}
 
@@ -68,7 +68,7 @@ subsequently results in work being done in {\em hello} library.
 More examples of such interface functions can 
 be found in hi (HiStart) and kNeighbor (kNeighbor) directories in 
 examples/charm++/mpi-coexist/libs. Note that a scheduler call {\em
-CsdScheduler(-1)} should be made from the interface functions to start the
+StartCharmScheduler()} should be made from the interface functions to start the
 message reception by \charmpp{} RTS.
 \end{itemize}
 
index 9b4b6c97e620b9238ec9695ae8443023f3f258a0..6e1da7359b7d845557125ec4b1ccd114b227e2b8 100644 (file)
@@ -63,7 +63,7 @@ void HelloStart(int elems)
     CkPrintf("HelloStart - Starting lib by calling constructor of MainHello\n");
     CProxy_MainHello mainhello = CProxy_MainHello::ckNew(elems);
   }
-  CsdScheduler(-1);
+  StartCharmScheduler();
 }
 
 #include "hello.def.h"
index c8f4da7ff2a14a82aceb7657e45177120f8ec74c..92229d71d02e33a3ea3658057bef1bd5ec114b27 100644 (file)
@@ -67,7 +67,7 @@ void HiStart(int elems)
   if(CkMyPe() == 0) {
     mainHi.StartHi(elems);
   }
-  CsdScheduler(-1);
+  StartCharmScheduler();
 }
 
 #include "hi.def.h"
index 05ff1209bae3d84f58de2443d516d74562c7fe27..b5c13553ba1dde3354a4b2bb23123113acec70eb 100644 (file)
@@ -351,6 +351,6 @@ void kNeighbor(int numchares, int numsteps, int msgsize, int lbfreq)
        if(CkMyPe() == 0) {
                mainProxy.beginWork(numsteps,msgsize,lbfreq);
        }
-  CsdScheduler(-1);
+  StartCharmScheduler();
 }
 #include "kNeighbor.def.h"
index dbf447c456c67431c0f79f92c3db4e3b396e5292..5dc6182cdf9f37c64cde94586381760c07cff79c 100644 (file)
@@ -13,6 +13,12 @@ extern int _ringexit;                    // for charm exit
 extern int _ringtoken;
 extern void _initCharm(int unused_argc, char **argv);
 
+
+extern "C"
+void StartCharmScheduler() {
+  CsdScheduler(-1);
+}
+
 // triger LibExit on PE 0,
 extern "C"
 void LibCkExit(void)
index 210fba4406448c74123cfb921b70e0ece2b924de..3f8974638087018bf25c1043c0d4b681ae674610 100644 (file)
@@ -16,6 +16,7 @@ extern "C" void CharmLibExit();
 
 extern "C" void LibCkExit(void);
 
+extern "C" void StartCharmScheduler();
 #define CkExit LibCkExit
 
 #endif //_MPI_INTEROPERATE_