Merge branch 'charm' of charmgit:charm into charm
authorChao Mei <chaomei2@illinois.edu>
Mon, 4 Apr 2011 20:27:09 +0000 (15:27 -0500)
committerChao Mei <chaomei2@illinois.edu>
Mon, 4 Apr 2011 20:27:09 +0000 (15:27 -0500)
12 files changed:
src/arch/bluegenel/machine.c
src/arch/bluegenep/conv-mach.h
src/arch/elan/machine.c
src/arch/origin-pthreads/machine.c
src/arch/origin2000/machine.c
src/arch/sim/machine.c
src/arch/sp3/machine.c
src/arch/t3e/machine.c
src/arch/template/machine.c
src/arch/uth/machine.c
src/conv-core/convcore.c
src/util/XTTorus.h

index e92b163922d2567fd83ba9b768bc6e28e7be2194..0c730f8ee5f271486fbfc705fc232aff3ab299ac 100644 (file)
@@ -205,7 +205,7 @@ int CmiTimerIsSynchronized(void)
   return _is_global;
 }
 
-void CmiTimerInit(void)
+void CmiTimerInit(char **argv)
 {
   _is_global = CmiTimerIsSynchronized();
 
index 6decbb7687dc0e6c013b68e4569c0effdfa3a11a..27ec1d463ef418e2d95de50c17672936be3d5363 100644 (file)
@@ -1,26 +1,25 @@
 #ifndef _CONV_MACH_H
 #define _CONV_MACH_H
 
+#define CMK_BLUEGENEP                                      1
+
+#define CMK_CONVERSE_MPI                                   1
+
 #define CMK_NO_OUTSTANDING_SENDS                          0
 
 #define CMK_MEMORY_PREALLOCATE_HACK                        1 
 
-#define CMK_CONVERSE_MPI                                   1
-
 #define CMK_NO_SOCKETS                                    1
 
 #define CMK_DEFAULT_MAIN_USES_COMMON_CODE                  1
 
 #define CMK_GETPAGESIZE_AVAILABLE                          1
-
-#define CMK_IS_HETERO                                      0
+#define CMK_MEMORY_PAGESIZE                                8192
+#define CMK_MEMORY_PROTECTABLE                             1
 
 #define CMK_MALLOC_USE_GNU_MALLOC                          0
 #define CMK_MALLOC_USE_OS_BUILTIN                          1
 
-#define CMK_MEMORY_PAGESIZE                                8192
-#define CMK_MEMORY_PROTECTABLE                             1
-
 #define CMK_NODE_QUEUE_AVAILABLE                           0 
 
 #define CMK_SHARED_VARS_EXEMPLAR                           0
@@ -31,8 +30,6 @@
 #define CMK_SIGNAL_USE_SIGACTION                           0
 #define CMK_SIGNAL_USE_SIGACTION_WITH_RESTART              0
 
-#define CMK_SYNCHRONIZE_ON_TCP_CLOSE                       0
-
 #define CMK_THREADS_USE_CONTEXT                            0
 #define CMK_THREADS_USE_PTHREADS                           0
 #define CMK_THREADS_ARE_WIN32_FIBERS                       0
 #define CMK_TIMER_USE_GETRUSAGE                            0
 #define CMK_TIMER_USE_SPECIAL                              0
 #define CMK_TIMER_USE_TIMES                                0
-#define CMK_TIMER_USE_BLUEGENEP                                   1
+#define CMK_TIMER_USE_BLUEGENEP                                               1
 #define CMK_TIMER_USE_AIX_READ_TIME                        0
 
-#define CMK_BLUEGENEP                                      1
-
 #define CMK_TYPEDEF_INT2 short
 #define CMK_TYPEDEF_INT4 int
 #define CMK_TYPEDEF_INT8 long long
index d115164ed60ee128aca4ad7113f3b2f177ce32ea..abc47353255121b46af9fe7fc699ff780c65b155 100644 (file)
@@ -212,7 +212,7 @@ static void PerrorExit(const char *msg)
 #if CMK_TIMER_USE_SPECIAL
 
 #include <sys/timers.h>
-void CmiTimerInit(void)
+void CmiTimerInit(char **argv)
 {
     starttimer =  elan_clock(elan_base->state); 
 }
@@ -1686,7 +1686,7 @@ void ConverseInit(int argc, char **argv, CmiStartFn fn, int usched, int initret)
 
   //CmiPrintf("SMALL_MESSAGE_SIZE = %d\n", SMALL_MESSAGE_SIZE);
 
-  CmiTimerInit();
+  CmiTimerInit(argv);
   msgBuf = PCQueueCreate();
 
   CsvInitialize(CmiNodeState, NodeState);
index c9b1008c9b089ce1a2b6affe074a3eb29426a89d..f0192296a486ffa7cf6f8a13a13145ca85b9289a 100644 (file)
@@ -191,7 +191,7 @@ void ConverseInit(int argc, char **argv, CmiStartFn fn, int usched, int initret)
   threadInit(usrparam);
 }
 
-void CmiTimerInit(void);
+void CmiTimerInit(char **argv);
 
 static void *threadInit(void *arg)
 {
@@ -205,7 +205,7 @@ static void *threadInit(void *arg)
   ConverseCommonInit(usrparam->argv);
   CpvInitialize(void*, CmiLocalQueue);
   CpvAccess(CmiLocalQueue) = CdsFifo_Create();
-  CmiTimerInit();
+  CmiTimerInit(usrparam->argv);
   if (Cmi_initret==0) {
     Cmi_startFn(Cmi_argc, usrparam->argv);
     if (Cmi_usched==0) CsdScheduler(-1);
@@ -381,7 +381,7 @@ void * McQueueRemoveFromFront(McQueue *queue)
 CpvStaticDeclare(double,inittime_wallclock);
 CpvStaticDeclare(double,inittime_virtual);
 
-void CmiTimerInit(void)
+void CmiTimerInit(char **argv)
 {
   struct timespec temp;
   CpvInitialize(double, inittime_wallclock);
index 9cdefaf82c014d4759c506efc4547909897abfce..2fba936c87bdc3bbf9e6f6f9c67695e1ab3ce3dc 100644 (file)
@@ -149,7 +149,7 @@ void ConverseInit(int argc, char **argv, CmiStartFn fn, int usched, int initret)
 
 /* static void neighbour_init(int); */
 
-void CmiTimerInit(void);
+void CmiTimerInit(char **argv);
 
 static void threadInit(void *arg)
 {
@@ -168,7 +168,7 @@ static void threadInit(void *arg)
 
   CthInit(usrparam->argv);
   CpvAccess(CmiLocalQueue) = CdsFifo_Create();
-  CmiTimerInit();
+  CmiTimerInit(usrparam->argv);
   /*  neighbour_init(_Cmi_mype); */
   usadd(arena);
   ConverseCommonInit(usrparam->argv);
@@ -402,7 +402,7 @@ void * McQueueRemoveFromFront(McQueue *queue)
 CpvStaticDeclare(double,inittime_wallclock);
 CpvStaticDeclare(double,inittime_virtual);
 
-void CmiTimerInit(void)
+void CmiTimerInit(char **argv)
 {
   struct timespec temp;
   CpvInitialize(double, inittime_wallclock);
index 1a328e6a2b84754123eb0b19dfe6fc21470b9ae1..2f630a7cac06490e2a60fc9ec8bd4b867f61ee23 100644 (file)
@@ -353,7 +353,7 @@ static double CsiTimer() {
 static double Csi_global_time;
 static double Csi_start_time;
 
-void CmiTimerInit(void) { }
+void CmiTimerInit(char **argv) { }
 
 double CmiTimer()
 {
index d62a7f12e4c8a4185f936698fa46035922e7b088..356e136bf622102fff357277e263ba9f69545a78 100644 (file)
@@ -50,7 +50,7 @@ static int allmsg, dontcare, msgtype;
 
 /**************************  TIMER FUNCTIONS **************************/
 
-void CmiTimerInit(void)
+void CmiTimerInit(char **argv)
 {
   timebasestruct_t time;
   read_real_time(&time, TIMEBASE_SZ);
@@ -302,7 +302,7 @@ void ConverseInit(int argc, char **argv, CmiStartFn fn, int usched, int initret)
   for ( Cmi_dim=0,n=_Cmi_numpes; n>1; n/=2 )
     Cmi_dim++ ;
   /* CmiSpanTreeInit(); */
-  CmiTimerInit();
+  CmiTimerInit(argv);
   CpvInitialize(void *, CmiLocalQueue);
   CpvAccess(CmiLocalQueue) = CdsFifo_Create();
   recdQueueInit();
index a983a5aaba5d7a0a04b5257523baf3d4c5bda50a..bd6d2505ecc8792393faca35282dc20b874d3ffa 100644 (file)
@@ -869,7 +869,7 @@ static double clocktick;
 static long inittime_wallclock;
 static long inittime_virtual;
 
-void CmiTimerInit()
+void CmiTimerInit(char **argv)
 {
   inittime_wallclock = _rtc();
   inittime_virtual = cpused();
index 35d1e3cb55dad05e48debb81af347886065ec82d..2addecd72286512e16e38a6175030a6b3fe23f4e 100644 (file)
@@ -313,7 +313,7 @@ void CmiDestroyLock(CmiNodeLock lock);
 /* If all the CMK_TIMER_USE_ are set to 0, the following timer functions are
    needed. */
 
-void   CmiTimerInit();
+void   CmiTimerInit(char **argv);
 double CmiTimer();
 double CmiWallTimer();
 double CmiCpuTimer();
index f094fcca183ba279038b8a97eb8a4eff2d96fd0b..f8f708b9a72da5fd814dda802916086edabad20c 100644 (file)
@@ -278,7 +278,7 @@ char **CmiInitPE()
   int argc; char **argv;
   argv = CmiCopyArgs(CmiArgv);
   CpvAccess(CmiLocalQueue) = CmiQueues[CmiMyPe()];
-  CmiTimerInit();
+  CmiTimerInit(argv);
   ConverseCommonInit(argv);
   CcdCallOnConditionKeep(CcdPROCESSOR_STILL_IDLE,CmiNotifyIdle,NULL);
   return argv;
index 6a057c500f555c9c1d30682c1ad20c6b030dca92..eede4ed98d301a28d4b1a71b2320d8706a2e5cd6 100644 (file)
@@ -795,6 +795,11 @@ int CmiTimerIsSynchronized()
   return 0;
 }
 
+int CmiTimerAbsolute()
+{
+  return 0;
+}
+
 double CmiStartTimer()
 {
   return 0.0;
@@ -802,7 +807,7 @@ double CmiStartTimer()
 
 double CmiInitTime()
 {
-  return inittime_wallclock;
+  return CpvAccess(inittime_wallclock);
 }
 
 void CmiTimerInit(char **argv)
@@ -1071,6 +1076,11 @@ int CmiTimerIsSynchronized()
   return 0;
 }
 
+int CmiTimerAbsolute()
+{
+  return 1;
+}
+
 double CmiStartTimer()
 {
   return 0.0;
@@ -1081,11 +1091,6 @@ double CmiInitTime()
   return inittime_wallclock;
 }
 
-int CmiTimerAbsolute()
-{
-  return 1;
-}
-
 void CmiTimerInit(char **argv)
 {
   BGLPersonality dst;
@@ -1124,6 +1129,21 @@ double CmiTimer()
 
 #if CMK_TIMER_USE_BLUEGENEP  /* This module just compiles with GCC charm. */
 
+int CmiTimerAbsolute()
+{
+  return 0;
+}
+
+double CmiStartTimer()
+{
+  return 0.0;
+}
+
+double CmiInitTime()
+{
+  return 0.0;
+}
+
 void CmiTimerInit(char **argv) {}
 
 #include "dcmf.h"
@@ -1154,6 +1174,11 @@ int CmiTimerIsSynchronized()
   return 1;
 }
 
+int CmiTimerAbsolute()
+{
+  return 0;
+}
+
 #include "hwi/include/bqc/A2_inlines.h"
 #include "spi/include/kernel/process.h"
 
@@ -1217,6 +1242,11 @@ double CmiStartTimer()
   return 0.0;
 }
 
+int CmiTimerAbsolute()
+{
+  return 0;
+}
+
 double CmiInitTime()
 {
   return CpvAccess(inittime_wallclock);
@@ -1300,6 +1330,11 @@ void CmiTimerInit(char **argv)
   clocktick = 1.0 / (double)(sysconf(_SC_SV2_USER_TIME_RATE));
 }
 
+int CmiTimerAbsolute()
+{
+  return 0;
+}
+
 double CmiWallTimer()
 {
   long long now;
@@ -1354,6 +1389,11 @@ void CmiTimerInit(char **argv)
     (ru.ru_stime.tv_sec * 1.0)+(ru.ru_stime.tv_usec * 0.000001);
 }
 
+int CmiTimerAbsolute()
+{
+  return 0;
+}
+
 double CmiWallTimer()
 {
   int secs, n_secs;
index d72145d8645c51299a61a2dc39f66801c23900a3..9584e47a87bc97cb03546d0fdfc8d1017ad35136 100644 (file)
@@ -121,8 +121,13 @@ class XTTorusManager {
       dimY = dimNY;
       dimZ = dimNZ;
 
+      // pick a random node (1) to find the number of cores per node being
+      // actually used - assumes same number of cores per node
+      lx = pid2coords[1].x;
+      ly = pid2coords[1].y;
+      lz = pid2coords[1].z;
       for(l=0; l<TDIM; l++) {
-       if(coords2pid[minX][minY][minZ][l] == -1)
+       if(coords2pid[lx][ly][lz][l] == -1)
          break;
       }
       dimNT = l;