Removed _initCharm from machine layer to make the interoperate cleaner
authorChao Mei <chaomei2@illinois.edu>
Sat, 3 Mar 2012 20:20:15 +0000 (14:20 -0600)
committerChao Mei <chaomei2@illinois.edu>
Sat, 3 Mar 2012 20:20:15 +0000 (14:20 -0600)
src/arch/util/machine-common-core.c
src/ck-core/init.C
src/conv-core/converse.h

index 469f464b827bbba608b528ec31e59b8c2e30dc1e..43a38bdcf7fbff687f9e9d74d1d2488dd356e679 100644 (file)
@@ -737,8 +737,9 @@ static void ConverseRunPE(int everReturn) {
 
     /* communication thread */
     if(CpvAccess(interOperate)) {
 
     /* communication thread */
     if(CpvAccess(interOperate)) {
-                 Cmi_startfn(CmiGetArgc(CmiMyArgv), CmiMyArgv);
-      CsdScheduler(-1);
+       /* Not considering SMP mode now */
+       Cmi_startfn(CmiGetArgc(CmiMyArgv), CmiMyArgv);
+       CsdScheduler(-1);
     } else {
       if (CmiMyRank() == CmiMyNodeSize()) {
         Cmi_startfn(CmiGetArgc(CmiMyArgv), CmiMyArgv);
     } else {
       if (CmiMyRank() == CmiMyNodeSize()) {
         Cmi_startfn(CmiGetArgc(CmiMyArgv), CmiMyArgv);
@@ -754,14 +755,6 @@ static void ConverseRunPE(int everReturn) {
 }
 /* ##### End of Functions Related with Machine Startup ##### */
 
 }
 /* ##### End of Functions Related with Machine Startup ##### */
 
-//used in interoperability mode
-extern void _initCharm(int argc, char **argv);
-void CharmLibInit(int peid, int numpes, int argc, char **argv, CmiStartFn fn) {
-         _Cmi_numnodes = numpes;
-         _Cmi_mynode = peid;
-    ConverseInit(argc, argv, fn, 1, 0);
-}
-
 /* ##### Beginning of Functions Related with Machine Running ##### */
 static INLINE_KEYWORD void AdvanceCommunication(int whenidle) {
     int doProcessBcast = 1;
 /* ##### Beginning of Functions Related with Machine Running ##### */
 static INLINE_KEYWORD void AdvanceCommunication(int whenidle) {
     int doProcessBcast = 1;
index 0a2332438d4acbe1bbf2f44fcfa42d622231c13d..d7a37930a4053f15e6d622aabf4e1b2e707ed211 100644 (file)
@@ -1395,4 +1395,15 @@ void registerExitFn(CkExitFn fn)
   _CkExitFnVec.enq(fn);
 }
 
   _CkExitFnVec.enq(fn);
 }
 
+#if CMK_INTER_OPERATE
+void CharmLibInit(int peid, int numpes, int argc, char **argv){
+    //note CmiNumNodes and CmiMyNode should just be macros
+    _Cmi_numnodes = numpes; 
+    _Cmi_mynode = peid;
+
+
+    ConverseInit(argc, argv, (CmiStartFn)_initCharm, 1, 0);
+    printf("node[%d]: called CharmLibInit with %d nodes\n", CmiMyPe(), CmiNumNodes()); 
+}
+#endif
 /*@}*/
 /*@}*/
index 30d7bd0c573ba454d78038a85d0c618ceb26da8f..379d3e3fa3c703aaf5ca5dec742330c853c3d58b 100644 (file)
@@ -130,6 +130,8 @@ extern int CmiMyRank_();
 extern int _Cmi_mype;
 extern int _Cmi_numpes;
 extern int _Cmi_myrank; /* Normally zero; only 1 during SIGIO handling */
 extern int _Cmi_mype;
 extern int _Cmi_numpes;
 extern int _Cmi_myrank; /* Normally zero; only 1 during SIGIO handling */
+extern int _Cmi_mynode;
+extern int _Cmi_numnodes;
 
 #define CmiMyPe()           _Cmi_mype
 #define CmiMyRank()         0
 
 #define CmiMyPe()           _Cmi_mype
 #define CmiMyRank()         0