clean up the interface cleanup (Strategy, and LDStats) in the previous commit.
authorGengbin Zheng <gzheng@illinois.edu>
Sun, 7 Nov 2010 06:53:39 +0000 (01:53 -0500)
committerGengbin Zheng <gzheng@illinois.edu>
Sun, 7 Nov 2010 06:53:39 +0000 (01:53 -0500)
1. supports both the old Startegy() interface and the new one. (we can decide to completely drop the old interface later when it is ready).
2. Ideally, LDStats should not allow directly accessing n_pes (what if it is a name somebody else does not like?). Access to n_pes field through nprocs() call, eventually they should all be private variables. Rename n_pes back to count for legacy code that still accessing it directly. NAMD is updated to use nprocs() call for newer version of charm.

29 files changed:
src/ck-ldb/BaseLB.C
src/ck-ldb/BaseLB.h
src/ck-ldb/BlockLB.C
src/ck-ldb/CentralLB.C
src/ck-ldb/CentralLB.h
src/ck-ldb/CommLB.C
src/ck-ldb/GreedyAgentLB.C
src/ck-ldb/GreedyCommLB.C
src/ck-ldb/GreedyLB.C
src/ck-ldb/GridCommLB.C
src/ck-ldb/GridCommRefineLB.C
src/ck-ldb/GridHybridLB.C
src/ck-ldb/GridHybridSeedLB.C
src/ck-ldb/GridMetisLB.C
src/ck-ldb/HybridBaseLB.C
src/ck-ldb/HybridBaseLB.h
src/ck-ldb/LButil.C
src/ck-ldb/MetisLB.C
src/ck-ldb/OrbLB.C
src/ck-ldb/PhasebyArrayLB.C
src/ck-ldb/RandCentLB.C
src/ck-ldb/RefineCommLB.C
src/ck-ldb/RefineKLB.C
src/ck-ldb/RefineLB.C
src/ck-ldb/RefineTopoLB.C
src/ck-ldb/RotateLB.C
src/ck-ldb/TopoCentLB.C
src/ck-ldb/TopoLB.C
src/ck-ldb/ckgraph.C

index e0af997d53db2b547229776dec752d89f4cd90cf..882a0695fd739e04de149874dada82117dd2e85e 100644 (file)
@@ -79,9 +79,9 @@ BaseLB::LDStats::LDStats(int c, int complete)
        : n_objs(0), n_migrateobjs(0), n_comm(0), 
           objHash(NULL), complete_flag(complete)
 {
-  n_pes = c;
-  if (n_pes == 0) n_pes = CkNumPes();
-  procs = new ProcStats[n_pes];
+  count = c;
+  if (count == 0) count = CkNumPes();
+  procs = new ProcStats[count];
 }
 
 const static unsigned int doublingPrimes[] = {
@@ -251,7 +251,7 @@ void BaseLB::LDStats::computeNonlocalComm(int &nmsgs, int &nbytes)
              senderPE = to_proc[idx];
              CmiAssert(senderPE != -1);
            }
-           CmiAssert(senderPE < n_pes && senderPE >= 0);
+           CmiAssert(senderPE < nprocs() && senderPE >= 0);
 
             // find receiver: point-to-point and multicast two cases
            int receiver_type = cdata.receiver.get_type();
@@ -266,7 +266,7 @@ void BaseLB::LDStats::computeNonlocalComm(int &nmsgs, int &nbytes)
                }
                else {
                  receiverPE = to_proc[idx];
-                  CmiAssert(receiverPE < n_pes && receiverPE >= 0);
+                  CmiAssert(receiverPE < nprocs() && receiverPE >= 0);
                }
               }
              if(senderPE != receiverPE)
@@ -285,7 +285,7 @@ void BaseLB::LDStats::computeNonlocalComm(int &nmsgs, int &nbytes)
                CmiAssert(idx != -1);
                if (idx == -1) continue;    // receiver has just been removed?
                receiverPE = to_proc[idx];
-               CmiAssert(receiverPE < n_pes && receiverPE >= 0);
+               CmiAssert(receiverPE < nprocs() && receiverPE >= 0);
                int exist = 0;
                for (int p=0; p<pes.size(); p++) 
                  if (receiverPE == pes[p]) { exist=1; break; }
@@ -306,8 +306,8 @@ void BaseLB::LDStats::print()
 {
 #if CMK_LBDB_ON
   int i;
-  CkPrintf("------------- Processor Data: %d -------------\n", n_pes);
-  for(int pe=0; pe < n_pes; pe++) {
+  CkPrintf("------------- Processor Data: %d -------------\n", nprocs());
+  for(int pe=0; pe < nprocs(); pe++) {
     struct ProcStats &proc = procs[pe];
 
     CkPrintf(
@@ -362,7 +362,7 @@ double BaseLB::LDStats::computeAverageLoad()
   double total = 0;
   for (i=0; i<n_objs; i++) total += objData[i].wallTime;
                                                                                 
-  for (i=0; i<n_pes; i++)
+  for (i=0; i<nprocs(); i++)
     if (procs[i].available == CmiTrue) {
         total += procs[i].bg_walltime;
        numAvail++;
@@ -403,13 +403,13 @@ void BaseLB::LDStats::removeObject(int obj)
 void BaseLB::LDStats::pup(PUP::er &p)
 {
   int i;
-  p(n_pes);
+  p(count);
   p(n_objs);
   p(n_migrateobjs);
   p(n_comm);
   if (p.isUnpacking()) {
     // user can specify simulated processors other than the real # of procs.
-    int maxpe = n_pes > LBSimulation::simProcs ? n_pes : LBSimulation::simProcs;
+    int maxpe = nprocs() > LBSimulation::simProcs ? nprocs() : LBSimulation::simProcs;
     procs = new ProcStats[maxpe];
     objData.resize(n_objs);
     commData.resize(n_comm);
@@ -421,10 +421,10 @@ void BaseLB::LDStats::pup(PUP::er &p)
   // otherwise load everything
   if (p.isUnpacking() && LBSimulation::procsChanged) {
     ProcStats dummy;
-    for (i=0; i<n_pes; i++) p|dummy;
+    for (i=0; i<nprocs(); i++) p|dummy;
   }
   else
-    for (i=0; i<n_pes; i++) p|procs[i];
+    for (i=0; i<nprocs(); i++) p|procs[i];
   for (i=0; i<n_objs; i++) p|objData[i]; 
   for (i=0; i<n_objs; i++) p|from_proc[i]; 
   for (i=0; i<n_objs; i++) p|to_proc[i]; 
@@ -433,17 +433,17 @@ void BaseLB::LDStats::pup(PUP::er &p)
     for (i=0; i<n_objs; i++) to_proc[i] = from_proc[i];
   for (i=0; i<n_comm; i++) p|commData[i];
   if (p.isUnpacking())
-    n_pes = LBSimulation::simProcs;
+    count = LBSimulation::simProcs;
   if (p.isUnpacking()) {
     objHash = NULL;
     if (_lb_args.lbversion() <= 1) 
-      for (i=0; i<n_pes; i++) procs[i].pe = i;
+      for (i=0; i<nprocs(); i++) procs[i].pe = i;
   }
 }
 
 int BaseLB::LDStats::useMem() { 
   // calculate the memory usage of this LB (superclass).
-  return sizeof(LDStats) + sizeof(ProcStats) * n_pes +
+  return sizeof(LDStats) + sizeof(ProcStats) * nprocs() +
         (sizeof(LDObjData) + 2 * sizeof(int)) * n_objs +
         sizeof(LDCommData) * n_comm;
 }
index ccbe1b6d6328e6c96469b856e5fa5e34bee7b053..984a7fc60fc97caacb923152bfe593ac4b7aedc6 100644 (file)
@@ -69,7 +69,7 @@ public:
 
   /** Passed to the virtual functions Strategy(...) and work(...) */
   struct LDStats {
-    int n_pes;                 // number of pes in the array "procs"
+    int count;                 // number of procs in the array "procs"
     ProcStats *procs;          // processor statistics
 
     int n_objs;                        // total number of objects in the vector "objData"
@@ -90,6 +90,8 @@ public:
                                // this LDStats may not be complete
 
     LDStats(int c=0, int complete_flag=1);
+    inline int nprocs() const { return count; }
+    inline int &nprocs() { return count; }
     void assign(int oid, int pe) { CmiAssert(procs[pe].available); to_proc[oid] = pe; }
       // build hash table
     void makeCommHash();
@@ -108,7 +110,7 @@ public:
       deleteCommHash();
     }
     void clearBgLoad() {
-      for (int i=0; i<n_pes; i++) procs[i].clearBgLoad();
+      for (int i=0; i<nprocs(); i++) procs[i].clearBgLoad();
     }
     void computeNonlocalComm(int &nmsgs, int &nbytes);
     double computeAverageLoad();
index 410c1d204e08042bafa186cbe5a01fe351a960bd..3288e1fb986fd21ad1f4aa19166cd84e47a691bb 100644 (file)
@@ -43,9 +43,9 @@ void BlockLB::work (LDStats *stats)
 
 
   // Make sure that there is at least one available processor.
-       int validProcs=0;
-       int *mapValidToAbsolute = new int[stats->n_pes];
-  for (proc = 0; proc < stats->n_pes; proc++) {
+  int validProcs=0;
+  int *mapValidToAbsolute = new int[stats->nprocs()];
+  for (proc = 0; proc < stats->nprocs(); proc++) {
     if (stats->procs[proc].available) {
                        mapValidToAbsolute[validProcs] = proc;
                        validProcs++;
index 3f8d77b44bf244ffe86b38512428565fdefe79a7..34b404c34848524024b64eb2fb50061df0b8e73d 100644 (file)
@@ -366,7 +366,7 @@ void CentralLB::MissMigrate(int waitForBarrier)
 // not used when USE_REDUCTION = 1
 void CentralLB::buildStats()
 {
-    statsData->n_pes = stats_msg_count;
+    statsData->nprocs() = stats_msg_count;
     // allocate space
     statsData->objData.resize(statsData->n_objs);
     statsData->from_proc.resize(statsData->n_objs);
@@ -507,7 +507,7 @@ void CentralLB::ReceiveStats(CkMarshalledCLBStatsMessage &msg)
  
   if (stats_msg_count == clients) {
        DEBUGF(("[%d] All stats messages received \n",CmiMyPe()));
-    statsData->n_pes = stats_msg_count;
+    statsData->nprocs() = stats_msg_count;
     thisProxy[CkMyPe()].LoadBalance();
   }
 #endif
@@ -589,7 +589,7 @@ void CentralLB::LoadBalance()
 #endif
   
   double strat_start_time = CkWallTimer();
-  LBMigrateMsg* migrateMsg = Strategy(statsData);
+  LBMigrateMsg* migrateMsg = Strategy(statsData, statsData->nprocs());
 #if (defined(_FAULT_MLOG_) || defined(_FAULT_CAUSAL_))
        migrateMsg->step = step();
 #endif
@@ -1064,6 +1064,12 @@ LBMigrateMsg* CentralLB::Strategy(LDStats* stats)
 #endif
 }
 
+// keep for legacy code
+LBMigrateMsg* CentralLB::Strategy(LDStats* stats, int nprocs)
+{
+  Strategy(stats);
+}
+
 void CentralLB::work(LDStats* stats)
 {
   // does nothing but print the database
index 8b0e7cda57f2e6513c1b9f2b9c37de7ef83d3032..ccb3730fcaf301559d0b6f71f7eca765b0027c2f 100644 (file)
@@ -221,6 +221,7 @@ public:
 
   void preprocess(LDStats* stats);
   virtual LBMigrateMsg* Strategy(LDStats* stats);
+  virtual LBMigrateMsg* Strategy(LDStats* stats, int nprocs);
   virtual void work(LDStats* stats);
   virtual LBMigrateMsg * createMigrateMsg(LDStats* stats);
   virtual LBMigrateMsg * extractMigrateMsg(LBMigrateMsg *m, int p);
index 0c6ead750fb002af25030462e02534f2064a0ca8..7663039fc955fdc3b11721b4c629b65ef466e9f2 100644 (file)
@@ -144,7 +144,7 @@ void CommLB::work(LDStats* stats)
   //  CkPrintf("[%d] CommLB strategy\n",CkMyPe());
 
   nobj = stats->n_objs;
-  npe = stats->n_pes;
+  npe = stats->nprocs();
 
   stats->makeCommHash();
 
index 4655140eb8e4432425a7a68a956fa40d75f384f5..db8e0ffb283b2c45476037ef32e609588af6c4b3 100644 (file)
@@ -195,7 +195,7 @@ GreedyAgentLB::BuildCpuArray(CentralLB::LDStats* stats,
 void GreedyAgentLB::work(LDStats* stats)
 {
   int  i, obj, heapSize, objCount;
-  int n_pes = stats->n_pes;
+  int n_pes = stats->nprocs();
 
   int *pemap = new int [n_pes];
   HeapData *cpuData = BuildCpuArray(stats, n_pes, &heapSize);
index 6301970d94050a0119384c98947bc8f949340393..3a21ceaee49650cbec5cb50df9d354258d71b63f 100644 (file)
@@ -142,7 +142,7 @@ void GreedyCommLB::work(LDStats* stats)
     int i;
     
     if (_lb_args.debug()) CkPrintf("In GreedyCommLB strategy\n",CkMyPe());
-    npe = stats->n_pes;
+    npe = stats->nprocs();
     nobj = stats->n_objs;
 
     // nmigobj is calculated as the number of migratable objects
index 80bc7ab1c0c8711c74ef5a7cf3f50d979a469c19..32ef0d1094e01862da8fb263f1034e54dc6030fc 100644 (file)
@@ -187,7 +187,7 @@ GreedyLB::BuildCpuArray(BaseLB::LDStats* stats,
 void GreedyLB::work(LDStats* stats)
 {
   int  obj, heapSize, objCount;
-  int n_pes = stats->n_pes;
+  int n_pes = stats->nprocs();
 
   HeapData *cpuData = BuildCpuArray(stats, n_pes, &heapSize);
   HeapData *objData = BuildObjectArray(stats, n_pes, &objCount);
index aff0f2ba2f96d3a9a4275cd2ef344d81b320ce3d..c44ff84dc85f8162e4882f42b07d307d7fd3b1f5 100644 (file)
@@ -618,7 +618,7 @@ void GridCommLB::work (LDStats *stats)
   stats->makeCommHash ();
 
   // Initialize object variables for the number of PEs and number of objects.
-  Num_PEs = stats->n_pes;
+  Num_PEs = stats->nprocs();
   Num_Objects = stats->n_objs;
 
   if (_lb_args.debug() > 0) {
index 6811b1c9d59ba14747e4f8764f08e86dbfc420bf..75c7a6069aad9a1f7200095bcaed14b41855ba74 100644 (file)
@@ -603,7 +603,7 @@ void GridCommRefineLB::work (LDStats *stats)
   stats->makeCommHash ();
 
   // Initialize object variables for the number of PEs and number of objects.
-  Num_PEs = stats->n_pes;
+  Num_PEs = stats->nprocs();
   Num_Objects = stats->n_objs;
 
   if (_lb_args.debug() > 0) {
index 1d233ba7f3e108350f04c31ff914d4b3b1393d78..38e03aed3f5f4adc3aaa8fd795edaf7b6a7094e4 100644 (file)
@@ -869,7 +869,7 @@ void GridHybridLB::work (LDStats *stats)
   stats->makeCommHash ();
 
   // Initialize object variables for the number of PEs and number of objects.
-  Num_PEs = stats->n_pes;
+  Num_PEs = stats->nprocs();
   Num_Objects = stats->n_objs;
 
   if (_lb_args.debug() > 0) {
index 37902b3c855ed82d6dfca0a4b858c2c3d9794ae4..7b85add09e268d4e5d7c7d3f59fac7aa528517b7 100644 (file)
@@ -1007,7 +1007,7 @@ void GridHybridSeedLB::work (LDStats *stats)
   stats->makeCommHash ();
 
   // Initialize object variables for the number of PEs and number of objects.
-  Num_PEs = stats->n_pes;
+  Num_PEs = stats->nprocs();
   Num_Objects = stats->n_objs;
 
   if (_lb_args.debug() > 0) {
index 2ebc036c9739a92b00eeb1ed92aac64b6c8197e2..7d66bc47f1474ce30307bd87a5bf7b388ad69bb3 100644 (file)
@@ -791,7 +791,7 @@ void GridMetisLB::work (LDStats *stats)
   stats->makeCommHash ();
 
   // Initialize object variables for the number of PEs and number of objects.
-  Num_PEs = stats->n_pes;
+  Num_PEs = stats->nprocs();
   Num_Objects = stats->n_objs;
 
   if (_lb_args.debug() > 0) {
index 19ae45ae409ccf4de393862d12c10357756d4d48..e633eda6d3f548986230e8c58c1fecf4a1f91649 100644 (file)
@@ -312,7 +312,7 @@ void HybridBaseLB::buildStats(int atlevel)
 
   // statsMsgsList
   DEBUGF(("[%d] buildStats for %d nobj:%d\n", CkMyPe(), stats_msg_count, statsData->n_objs));
-  statsData->n_pes = stats_msg_count;
+  statsData->nprocs() = stats_msg_count;
   statsData->objData.resize(statsData->n_objs);
   statsData->commData.resize(statsData->n_comm);
   statsData->from_proc.resize(statsData->n_objs);
@@ -397,7 +397,7 @@ CLBStatsMsg * HybridBaseLB::buildCombinedLBStatsMessage(int atlevel)
   cmsg->bg_walltime = 0.0;
   cmsg->bg_cputime = 0.0;
 
-  for (int pe=0; pe<statsData->n_pes; pe++) {
+  for (int pe=0; pe<statsData->nprocs(); pe++) {
         struct ProcStats &procStat = statsData->procs[pe];
         cmsg->pe_speed += procStat.pe_speed;           // important
         cmsg->total_walltime += procStat.total_walltime;
@@ -475,7 +475,7 @@ void HybridBaseLB::Loadbalancing(int atlevel)
     thisProxy.ReceiveVectorMigration(migrateMsg, nclients, lData->children);
   }
   else {
-    LBMigrateMsg* migrateMsg = Strategy(statsData);
+    LBMigrateMsg* migrateMsg = Strategy(statsData, statsData->nprocs());
     strat_end_time = CkWallTimer();
 
     // send to children 
@@ -513,7 +513,7 @@ void HybridBaseLB::Loadbalancing(int atlevel)
   }
 }
 
-LBMigrateMsg* HybridBaseLB::Strategy(LDStats* stats)
+LBMigrateMsg* HybridBaseLB::Strategy(LDStats* stats, int nprocs)
 {
 #if CMK_LBDB_ON
   work(stats);
index 893916fcd60aeeb061f2452b74b5bc13e7b7b7fc..6a85aa218d212808b38255a2fc0206caa8f62ff6 100644 (file)
@@ -349,7 +349,8 @@ private:
 protected:
   virtual CmiBool QueryBalanceNow(int) { return CmiTrue; };  
   virtual CmiBool QueryMigrateStep(int) { return CmiTrue; };  
-  virtual LBMigrateMsg* Strategy(LDStats* stats);
+  virtual LBMigrateMsg* Strategy(LDStats* stats, int nprocs);
+  virtual LBMigrateMsg* Strategy(LDStats* stats) { Strategy(stats, stats->nprocs());}
   virtual void work(LDStats* stats);
   virtual LBMigrateMsg * createMigrateMsg(LDStats* stats);
 
index bce5a23ad2704c79a6a6a3f44282d58deb126a9b..2953f63e4c32c81c36ea12b8482bbff76ccb8771 100644 (file)
@@ -7,7 +7,7 @@
 LBVectorMigrateMsg * VectorStrategy(BaseLB::LDStats *stats)
 {
    int i;
-   int n_pes = stats->n_pes;
+   int n_pes = stats->nprocs();
 
    processorInfo *processors = new processorInfo[n_pes];
 
index 6814e0e937d40f14a020c5b2f38c14b69c90fced..8723e58ef554e2eec1189615997a6d61b3fa0b09 100644 (file)
@@ -94,7 +94,7 @@ void MetisLB::work(LDStats* stats)
 
   stats->makeCommHash();
 
-  int n_pes = stats->n_pes;
+  int n_pes = stats->nprocs();
   int numobjs = stats->n_objs;
 
   removeNonMigratable(stats, n_pes);
index 3199a9ddabe1f8cfd07544f2de133f503dd5dfb9..5ae0b93ffcd737ef7708ac686927ce7d6b1dda1e 100644 (file)
@@ -311,7 +311,7 @@ void OrbLB::work(LDStats* stats)
 
   statsData = stats;
 
-  P = stats->n_pes;
+  P = stats->nprocs();
 
   // calculate total number of migratable objects
   nObjs = stats->n_migrateobjs;
index 500774bf1d6e86b566e3cdf62348839ae305136a..42e060466ce1ddf4ca9cf75513d3e2463b267abc 100644 (file)
@@ -47,7 +47,7 @@ CmiBool PhasebyArrayLB::QueryBalanceNow(int _step)
 
 void PhasebyArrayLB::copyStats(BaseLB::LDStats *stats,BaseLB::LDStats *tempStats){
        int i;
-       tempStats->n_pes = stats->n_pes;
+       tempStats->nprocs() = stats->nprocs();
        tempStats->n_objs = stats->n_objs;
        tempStats->n_comm = stats->n_comm;
        tempStats->n_migrateobjs = stats->n_migrateobjs;
@@ -71,8 +71,8 @@ void PhasebyArrayLB::copyStats(BaseLB::LDStats *stats,BaseLB::LDStats *tempStats
        for(i=0;i<tempStats->n_comm;i++)
                tempStats->commData[i]=stats->commData[i];
        
-       tempStats->procs = new BaseLB::ProcStats[tempStats->n_pes];
-       for(i=0; i<tempStats->n_pes; i++)
+       tempStats->procs = new BaseLB::ProcStats[tempStats->nprocs()];
+       for(i=0; i<tempStats->nprocs(); i++)
                tempStats->procs[i]=stats->procs[i];
 }
 
index db44a1c7e891844aae332fa6172912ec2e61f54e..690f553d1eb74c25e829579c012e9dcfddbc83b6 100644 (file)
@@ -45,7 +45,7 @@ void RandCentLB::work(LDStats* stats)
 {
   if (_lb_args.debug()) CkPrintf("Calling RandCentLB strategy\n",CkMyPe());
 
-  int proc, n_pes = stats->n_pes;
+  int proc, n_pes = stats->nprocs();
 
   for (proc=0; proc<n_pes; proc++) {
     if (stats->procs[proc].available) break;
index 6e7da8dbf202f1bea409b9bb5d6f9f19618a2004..1252ef9a9b751d2cdfe22637cd6c5954c39a8755 100644 (file)
@@ -34,7 +34,7 @@ void RefineCommLB::work(LDStats* stats)
 {
 #if CMK_LBDB_ON
   int obj;
-  int n_pes = stats->n_pes;
+  int n_pes = stats->nprocs();
 
   //  CkPrintf("[%d] RefineLB strategy\n",CkMyPe());
 
index d73e87cde3a3277c67f7611e843212596e15d2f5..a694f5713388b6f9f9d08b2bab285ddcdc2117fc 100644 (file)
@@ -31,7 +31,7 @@ RefineKLB::RefineKLB(const CkLBOptions &opt): CentralLB(opt)
 void RefineKLB::work(LDStats* stats)
 {
   int obj;
-  int n_pes = stats->n_pes;
+  int n_pes = stats->nprocs();
 
   //  CkPrintf("[%d] RefineKLB strategy\n",CkMyPe());
 
index b293934c5db9ba2e2d2b6d143be4f1a20b7d55f9..79b800582d20e79814544122d8dfba57179e60a7 100644 (file)
@@ -28,7 +28,7 @@ RefineLB::RefineLB(const CkLBOptions &opt): CentralLB(opt)
 void RefineLB::work(LDStats* stats)
 {
   int obj;
-  int n_pes = stats->n_pes;
+  int n_pes = stats->nprocs();
 
   //  CkPrintf("[%d] RefineLB strategy\n",CkMyPe());
 
index 338f53ee2f0abd44b56a6e5cb442313137f5b5f0..e6a42b0480de1c45a95412dbbbe1783f94c1a0a1 100644 (file)
@@ -43,7 +43,7 @@ CmiBool RefineTopoLB::QueryBalanceNow (int _step)
 void RefineTopoLB :: work(LDStats *stats)
 {
   int i, j;
-  int n_pes = stats->n_pes;
+  int n_pes = stats->nprocs();
 
   if (_lb_args.debug() >= 2) {
     CkPrintf("In TopoLB Strategy...\n");
index 1368fd03346ed54e1fd7782c1ea17d5d63ddcba4..47e261047e59c9e1201d5896a26f75ceae924d3e 100644 (file)
@@ -50,7 +50,7 @@ void RotateLB::work(LDStats *stats)
   int obj;
   int dest;
   LDObjData *odata;
-  int n_pes = stats->n_pes;
+  int n_pes = stats->nprocs();
 
   // Make sure that there is at least one available processor.
   for (proc = 0; proc < n_pes; proc++) {
index 161dcfda1f03715875eb9230bdb58abce7868189..6a1166fc883db78d254ffd123d2b1543ae7f8127 100644 (file)
@@ -470,7 +470,7 @@ void TopoCentLB :: work(LDStats *stats)
   int dest;
   int i,j;
   LDObjData *odata;
-  int n_pes = stats->n_pes;
+  int n_pes = stats->nprocs();
        
   if (_lb_args.debug() >= 2) {
     CkPrintf("In TopoCentLB Strategy...\n");
index 0b0b83a015dab6a50997d650d3caf6e3921ec7f7..be79e521c8b28eb04ac9bbca3c5b46c973ea9c1f 100644 (file)
@@ -705,7 +705,7 @@ void TopoLB::performMapping(int *newmap, int count)
 void TopoLB :: work(LDStats *stats)
 {
   int i, j;
-  int n_pes = stats->n_pes;
+  int n_pes = stats->nprocs();
 
   if (_lb_args.debug() >= 2) {
     CkPrintf("In TopoLB Strategy...\n");
index 8d1acd525e968efd2f0230f7d924a206987bd304..7f1e0501e3e1e309d2df4a80f119605473c4037d 100644 (file)
@@ -15,9 +15,9 @@
 
 ProcArray::ProcArray(BaseLB::LDStats *stats) {
   // fill the processor array
-  procs.resize(stats->n_pes);
+  procs.resize(stats->nprocs());
 
-  for(int pe = 0; pe < stats->n_pes; pe++) {
+  for(int pe = 0; pe < stats->nprocs(); pe++) {
     procs[pe].id        = stats->procs[pe].pe;
     procs[pe].overhead  = stats->procs[pe].bg_walltime;
     procs[pe].available = stats->procs[pe].available;