added an option to use cpu timer instead of wall timer to trace time.
authorGengbin Zheng <gzheng@illinois.edu>
Mon, 10 Nov 2008 22:14:48 +0000 (22:14 +0000)
committerGengbin Zheng <gzheng@illinois.edu>
Mon, 10 Nov 2008 22:14:48 +0000 (22:14 +0000)
src/langs/bluegene/blue.C
src/langs/bluegene/blue.h

index 3759c646029d5a91389dd86c9a8c7629f6717c56..2caf022ab3c94b6d54333ec9f66ae58b64e4c9d6 100644 (file)
@@ -243,7 +243,7 @@ void resetVTime()
   /* reset start time */
   int timingMethod = cva(bgMach).timingMethod;
   if (timingMethod == BG_WALLTIME) {
-    double ct = CmiWallTimer();
+    double ct = BG_TIMER();
     if (tTIMERON) CmiAssert(ct >= tSTARTTIME);
     tSTARTTIME = ct;
   }
@@ -291,10 +291,10 @@ void stopVTimer()
   tTIMERON = 0;
   const int timingMethod = cva(bgMach).timingMethod;
   if (timingMethod == BG_WALLTIME) {
-    const double tp = CmiWallTimer();
+    const double tp = BG_TIMER();
     double inc = tp-tSTARTTIME;
     advanceTime(inc);
-//    tSTARTTIME = CmiWallTimer();     // skip the above time
+//    tSTARTTIME = BG_TIMER(); // skip the above time
   }
   else if (timingMethod == BG_ELAPSE) {
     // if no bgelapse called, assume it takes 1us
@@ -321,11 +321,11 @@ double BgGetTime()
   if (timingMethod == BG_WALLTIME) {
     /* accumulate time since last starttime, and reset starttime */
     if (tTIMERON) {
-      const double tp2= CmiWallTimer();
+      const double tp2= BG_TIMER();
       double &startTime = tSTARTTIME;
       double inc = tp2 - startTime;
       advanceTime(inc);
-      startTime = CmiWallTimer();
+      startTime = BG_TIMER();
     }
     return tCURRTIME;
   }
index 8f322e49b50d65f1f7d5998dcdab79fa189de845..3ba3ff02c0edff07a9ef0b0830d66e9a81e377a7 100644 (file)
@@ -228,6 +228,14 @@ void BgSetNodeData(char *data);
 #define BG_WALLTIME    2
 #define BG_COUNTER     3
 
+/*#define BG_CPUTIMER    1*/
+
+#if BG_CPUTIMER
+#define BG_TIMER       CmiCpuTimer
+#else
+#define BG_TIMER       CmiWallTimer
+#endif
+
 typedef void (*bgEventCallBackFn)(void *data, double adjust, double recvT, void *usrPtr);
 
 void BgElapse(double t);