cputimer: CMK_LB_CPUTIMER ifdefs in NeigborLB code
authorAbhinav Bhatele <bhatele@jaguarpf-login6.ccs.ornl.gov>
Tue, 22 Feb 2011 00:11:01 +0000 (19:11 -0500)
committerAbhinav Bhatele <bhatele@jaguarpf-login6.ccs.ornl.gov>
Tue, 22 Feb 2011 00:11:01 +0000 (19:11 -0500)
src/ck-ldb/NborBaseLB.C
src/ck-ldb/NborBaseLB.h
src/ck-ldb/NeighborCommLB.C

index b2afae6491269ea8cd48c21e73e2a1e3ac9f9b14..6557c9c67848836fea142c349b740f3c841d8c2b 100644 (file)
@@ -146,9 +146,14 @@ NLBStatsMsg* NborBaseLB::AssembleStats()
 {
 #if CMK_LBDB_ON
   // Get my own stats, this is used in NeighborLB for example
+#if CMK_LB_CPUTIMER
   theLbdb->TotalTime(&myStats.total_walltime,&myStats.total_cputime);
-  theLbdb->IdleTime(&myStats.idletime);
   theLbdb->BackgroundLoad(&myStats.bg_walltime,&myStats.bg_cputime);
+#else
+  theLbdb->TotalTime(&myStats.total_walltime,&myStats.total_walltime);
+  theLbdb->BackgroundLoad(&myStats.bg_walltime,&myStats.bg_walltime);
+#endif
+  theLbdb->IdleTime(&myStats.idletime);
 
   myStats.move = QueryMigrateStep(step());
 
@@ -162,10 +167,15 @@ NLBStatsMsg* NborBaseLB::AssembleStats()
   myStats.commData = new LDCommData[myStats.n_comm];
   theLbdb->GetCommData(myStats.commData);
 
-  myStats.obj_walltime = myStats.obj_cputime = 0;
+  myStats.obj_walltime = 0;
+#if CMK_LB_CPUTIMER
+  myStats.obj_cputime = 0;
+#endif
   for(int i=0; i < myStats.n_objs; i++) {
     myStats.obj_walltime += myStats.objData[i].wallTime;
+#if CMK_LB_CPUTIMER
     myStats.obj_cputime += myStats.objData[i].cpuTime;
+#endif
   }    
 
   const int osz = theLbdb->GetObjDataSz();
@@ -177,12 +187,14 @@ NLBStatsMsg* NborBaseLB::AssembleStats()
   msg->serial = CrnRand();
   msg->pe_speed = myStats.pe_speed;
   msg->total_walltime = myStats.total_walltime;
-  msg->total_cputime = myStats.total_cputime;
   msg->idletime = myStats.idletime;
   msg->bg_walltime = myStats.bg_walltime;
-  msg->bg_cputime = myStats.bg_cputime;
   msg->obj_walltime = myStats.obj_walltime;
+#if CMK_LB_CPUTIMER
+  msg->total_cputime = myStats.total_cputime;
+  msg->bg_cputime = myStats.bg_cputime;
   msg->obj_cputime = myStats.obj_cputime;
+#endif
   msg->n_objs = osz;
   theLbdb->GetObjData(msg->objData);
   msg->n_comm = csz;
@@ -241,13 +253,15 @@ void NborBaseLB::ReceiveStats(CkMarshalledNLBStatsMessage &data)
       statsMsgsList[peslot] = m;
       statsDataList[peslot].from_pe = m->from_pe;
       statsDataList[peslot].total_walltime = m->total_walltime;
-      statsDataList[peslot].total_cputime = m->total_cputime;
       statsDataList[peslot].idletime = m->idletime;
       statsDataList[peslot].bg_walltime = m->bg_walltime;
-      statsDataList[peslot].bg_cputime = m->bg_cputime;
       statsDataList[peslot].pe_speed = m->pe_speed;
       statsDataList[peslot].obj_walltime = m->obj_walltime;
+#if CMK_LB_CPUTIMER
+      statsDataList[peslot].total_cputime = m->total_cputime;
+      statsDataList[peslot].bg_cputime = m->bg_cputime;
       statsDataList[peslot].obj_cputime = m->obj_cputime;
+#endif
 
       statsDataList[peslot].n_objs = m->n_objs;
       statsDataList[peslot].objData = m->objData;
@@ -391,12 +405,14 @@ void NborBaseLB::ResumeClients(int balancing)
 LBMigrateMsg* NborBaseLB::Strategy(LDStats* stats, int n_nbrs)
 {
   for(int j=0; j < n_nbrs; j++) {
-    CkPrintf(
-    "[%d] Proc %d Speed %d Total(wall,cpu)=%f %f Idle=%f Bg=%f %f obj=%f %f\n",
-    CkMyPe(),stats[j].from_pe,stats[j].pe_speed,
-    stats[j].total_walltime,stats[j].total_cputime,
-    stats[j].idletime,stats[j].bg_walltime,stats[j].bg_cputime,
-    stats[j].obj_walltime,stats[j].obj_cputime);
+    CkPrintf("[%d] Proc %d Speed %d WALL: Total %f Idle %f Bg %f obj %f",
+    CkMyPe(), stats[j].from_pe, stats[j].pe_speed, stats[j].total_walltime,
+    stats[j].idletime, stats[j].bg_walltime, stats[j].obj_walltime);
+#if CMK_LB_CPUTIMER
+    CkPrintf(" CPU: Total %f Bg %f obj %f", stats[j].total_cputime,
+    stats[j].bg_cputime, stats[j].obj_cputime);
+#endif
+    CkPrintf("\n");
   }
 
   int sizes=0;
@@ -453,9 +469,13 @@ void NLBStatsMsg::pup(PUP::er &p) {
   p|from_pe;
   p|serial;
   p|pe_speed;
-  p|total_walltime; p|total_cputime;
+  p|total_walltime;
   p|idletime;
-  p|bg_walltime;   p|bg_cputime;
+  p|bg_walltime;
+#if CMK_LB_CPUTIMER
+  p|total_cputime;
+  p|bg_cputime;
+#endif
   p|n_objs;
   if (p.isUnpacking()) objData = new LDObjData[n_objs];
   for (i=0; i<n_objs; i++) p|objData[i];
index 59a3d17f2742eed38dd684d2e43778891679da39..f8f417dd3e8d2212bbbeb9e559af1209c20bfb82 100644 (file)
@@ -45,12 +45,14 @@ public:
   struct LDStats {  // Passed to Strategy
     int from_pe;
     double total_walltime;
-    double total_cputime;
     double idletime;
     double bg_walltime;
-    double bg_cputime;
     double obj_walltime;
+#if CMK_LB_CPUTIMER
+    double total_cputime;
+    double bg_cputime;
     double obj_cputime;
+#endif
     int pe_speed;
     CmiBool available;
     CmiBool move;
@@ -61,7 +63,10 @@ public:
     LDCommData* commData;
 
     inline void clearBgLoad() {
-      bg_walltime = bg_cputime = idletime = 0.0;
+      bg_walltime = idletime = 0.0;
+#if CMK_LB_CPUTIMER
+      bg_cputime = 0.0;
+#endif
     }
   };
 
@@ -97,12 +102,14 @@ public:
   int serial;
   int pe_speed;
   double total_walltime;
-  double total_cputime;
   double idletime;
   double bg_walltime;
-  double bg_cputime;
   double obj_walltime;   // may not needed
+#if CMK_LB_CPUTIMER
+  double total_cputime;
+  double bg_cputime;
   double obj_cputime;   // may not needed
+#endif
   int n_objs;
   LDObjData *objData;
   int n_comm;
index 10b23264425025c7776d0ac185920726c007521c..7df70c2044f67f5c3cd6c38a2851f6ed299ed518 100644 (file)
@@ -159,8 +159,8 @@ bool _lb_debug2=0;
       for(i=0;i<myStats.n_objs;i++) {
         char temp[1000];
         char* now=temp;
-        sprintf(now, "[%d] Objs [%d] Load = %lf /%lf Comm Amount = %lf  ", 
-          CkMyPe(), i, myStats.objData[i].cpuTime, myStats.objData[i].wallTime, commamount[i] );
+        sprintf(now, "[%d] Objs [%d] Load = %lf Comm Amount = %lf  ", 
+          CkMyPe(), i, myStats.objData[i].wallTime, commamount[i] );
         now += strlen(now);
         sprintf(now, "Comm Center = [");
         now += strlen(now);