Revert "change CldSimpleMultipleSend to work within immediate handler."
authorGengbin Zheng <gzheng@illinois.edu>
Mon, 14 Mar 2011 05:44:42 +0000 (00:44 -0500)
committerGengbin Zheng <gzheng@illinois.edu>
Mon, 14 Mar 2011 05:44:42 +0000 (00:44 -0500)
This reverts commit ee55439323e76222ccd29ec692d8876817637718.

13 files changed:
src/arch/net-linux-ppc/cc-xlc64.sh
src/ck-core/cklocation.C
src/ck-ldb/LBDBManager.C
src/ck-ldb/LBDBManager.h
src/ck-ldb/LBDatabase.h
src/ck-ldb/LBOM.h
src/ck-ldb/OrbLB.C
src/ck-ldb/lbdb.C
src/ck-ldb/lbdb.h
src/conv-ldb/cldb.c
src/conv-ldb/cldb.h
src/conv-ldb/cldb.neighbor.c
src/libs/ck-libs/ampi/ampi.C

index 85abf7f6c91fbb5424c9353fe18671838e41dd67..0dc10ffe6e1d4ce1cab124e5f6367ed60b9791ba 100644 (file)
@@ -7,7 +7,7 @@ CMK_CXX_OPTIMIZE='-O3 -qstrict -Q! '
 CMK_LD="$CMK_CC "
 CMK_LDXX="$CMK_CXX "
 
-CMK_QT="aix64-light"
+CMK_QT="aix"
 
 CMK_NATIVE_CC='xlc_r -q64'
 CMK_NATIVE_LD='xlc_r -q64'
index bba8924fddbb537cca5324ed3e4ce33acc7b54dc..859d148b35e7de7787b72f93316f86b49b9e77ba 100644 (file)
@@ -64,13 +64,12 @@ the same size as ArrayIndices.
 LDObjid idx2LDObjid(const CkArrayIndex &idx)
 {
   LDObjid r;
-  int i=0;
+  int i;
   const int *data=idx.data();
-  if (OBJ_ID_SZ>idx.nInts) {
-    r.id[0] = idx.dimension;
+  if (OBJ_ID_SZ>=idx.nInts) {
     for (i=0;i<idx.nInts;i++)
-      r.id[i+1]=data[i];
-    for (i=idx.nInts+1;i<OBJ_ID_SZ;i++)
+      r.id[i]=data[i];
+    for (i=idx.nInts;i<OBJ_ID_SZ;i++)
       r.id[i]=0;
   } else {
     //Must hash array index into LBObjid
@@ -84,17 +83,6 @@ LDObjid idx2LDObjid(const CkArrayIndex &idx)
   }
   return r;
 }
-
-int LDObjid2idx(const LDObjHandle &h, int dim)
-{
-  const LDObjid &r = h.objID();
-  int ndims = r.id[0];
-  CkAssert(dim>=0 && dim<ndims);
-  if (ndims <= 3)
-    return r.id[dim+1];
-  else
-    return 0;              // fixme
-}
 #endif
 
 /************************* Array Index *********************
@@ -2953,7 +2941,6 @@ void CkLocMgr::initLB(CkGroupID lbdbID_)
        myCallbacks.migrate = (LDMigrateFn)CkLocRec_local::staticMigrate;
        myCallbacks.setStats = NULL;
        myCallbacks.queryEstLoad = NULL;
-       myCallbacks.dimInfo = LDObjid2idx;
        myLBHandle = the_lbdb->RegisterOM(myId,this,myCallbacks);
 
        // Tell the lbdb that I'm registering objects
index 4d5f424fe84edb42d4a93599a77d14d6caaf5aca..0cebbffe67ed10773bd5828ed053920bd1e01306 100644 (file)
@@ -356,12 +356,6 @@ void LBDB::RemoveNotifyMigrated(int handle)
   delete callbk;
 }
 
-int LBDB::DimInfo(const LDObjHandle &h, int dim)
-{
-  LBOM* om = oms[h.omhandle.handle];
-  return om->DimInfo(h, dim);
-}
-
 int LBDB::AddStartLBFn(LDStartLBFn fn, void* data)
 {
   // Save startLB function
index c236eacd76dc302dbe4950d5dbccc9d1d673fc49..689f2295fd23cab863cc8c7a051afdd63455ea04 100644 (file)
@@ -152,8 +152,6 @@ public:
        { migrateCBList[handle]->on = 0; }
   void RemoveNotifyMigrated(int handle);
 
-  int  DimInfo(const LDObjHandle &h, int dim);
-
   inline void TurnManualLBOn() 
        { useBarrier = CmiFalse; }
   inline void TurnManualLBOff() 
index c2864e99d9c7142effd173caa1e6980387d25f22..40638158a8beaf42fc1027322be265d3e1f778ad 100644 (file)
@@ -305,7 +305,6 @@ public:
 
   inline void ClearLoads(void) { LDClearLoads(myLDHandle); };
   inline int Migrate(LDObjHandle h, int dest) { return LDMigrate(h,dest); };
-  inline int DimInfo(const LDObjHandle &h, int dim) { return LDDimInfo(h,dim); };
 
   inline void Migrated(LDObjHandle h, int waitBarrier=1) { LDMigrated(h, waitBarrier); };
 
index 406d609e9867d9e3286badb7b5e20dc55ebff4d6..e4300bca3994935210505af6e653f7db2a5c1097 100644 (file)
@@ -42,7 +42,6 @@ private:
 
   void DepositHandle(LDOMHandle _h) { myhandle = _h; };
   void Migrate(LDObjHandle _h, int dest) { callbacks.migrate(_h,dest); };
-  int DimInfo(const LDObjHandle &_h, int dim) { callbacks.dimInfo(_h,dim); };
   CmiBool RegisteringObjs() { return registering_objs; };
   void SetRegisteringObjs(CmiBool _set) { registering_objs = _set; };
 
index 6bbe06b3e16bda04cb11b1c35ddaf8dce2a6b983..36cf06e50afb7b4885e28d9fdbed532d5068eabb 100644 (file)
@@ -320,16 +320,14 @@ void OrbLB::work(LDStats* stats)
 
   // v[0] = XDIR  v[1] = YDIR v[2] = ZDIR
   // vArray[XDIR] is an array holding the x vector for all computes
-  LBDatabase *lbdb = LBDatabase::Object();
   int objIdx = 0;
   for (i=0; i<stats->n_objs; i++) {
     LDObjData &odata = stats->objData[i];
     if (odata.migratable == 0) continue;
     computeLoad[objIdx].id = objIdx;
-    computeLoad[objIdx].v[XDIR] = lbdb->getLBDB()->DimInfo(odata.handle, 0); // odata.objID().id[0];
-    computeLoad[objIdx].v[YDIR] = lbdb->getLBDB()->DimInfo(odata.handle, 1); // odata.objID().id[1];
-    computeLoad[objIdx].v[ZDIR] = lbdb->getLBDB()->DimInfo(odata.handle, 2); // odata.objID().id[2];
-    // CkPrintf("[%d] %d %d %d\n", i, computeLoad[objIdx].v[XDIR], computeLoad[objIdx].v[YDIR], computeLoad[objIdx].v[ZDIR]);
+    computeLoad[objIdx].v[XDIR] = odata.objID().id[0];
+    computeLoad[objIdx].v[YDIR] = odata.objID().id[1];
+    computeLoad[objIdx].v[ZDIR] = odata.objID().id[2];
 #if CMK_LB_CPUTIMER
     computeLoad[objIdx].load = _lb_args.useCpuTime()?odata.cpuTime:odata.wallTime;
 #else
index 09dc9db985e1797a3c61b52b3982737e0be980b2..772609a46017af2bebb06cfc365350d6d838fb6d 100644 (file)
@@ -499,13 +499,6 @@ extern "C" void LDQueryEstLoad(LDHandle bdb)
 {
 }
 
-extern "C" int LDDimInfo(const LDObjHandle &_h, int dim)
-{
-  LBDB *const db = (LBDB*)(_h.omhandle.ldb.handle);
-
-  return db->DimInfo(_h,dim);
-}
-
 extern "C" int LDMemusage(LDHandle _db) 
 {
   LBDB *const db = (LBDB*)(_db.handle);
index 31a96a30c66e57d1013df2ceac05b37044336447..198c8c8e667dd93c7dab7e0a8d399d2b8c6cc535 100644 (file)
@@ -226,15 +226,11 @@ void LBCollectStatsOff(void);
 typedef void (*LDMigrateFn)(LDObjHandle handle, int dest);
 typedef void (*LDStatsFn)(LDOMHandle h, int state);
 typedef void (*LDQueryEstLoadFn)(LDOMHandle h);
-typedef void (*LDStatsFn)(LDOMHandle h, int state);
-typedef int (*LDDimInfoFn)(const LDObjHandle &h, int dim);
 
-typedef struct _LDCallbacks {
+typedef struct {
   LDMigrateFn migrate;
   LDStatsFn setStats;
   LDQueryEstLoadFn queryEstLoad;
-  LDDimInfoFn  dimInfo;
-  _LDCallbacks(): migrate(NULL), setStats(NULL), queryEstLoad(NULL), dimInfo(NULL) {} 
 } LDCallbacks;
 
 /*
@@ -298,7 +294,6 @@ void LDCollectStatsOn(LDHandle _lbdb);
 void LDCollectStatsOff(LDHandle _lbdb);
 int  CLDCollectingStats(LDHandle _lbdb);
 void LDQueryEstLoad(LDHandle bdb);
-int  LDDimInfo(const LDObjHandle &_h, int dim);
 void LDGetObjLoad(LDObjHandle &h, LBRealType *wallT, LBRealType *cpuT);
 void LDQueryKnownObjLoad(LDObjHandle &h, LBRealType *wallT, LBRealType *cpuT);
 
index 07d7eaf5809ec037e44b8b5e845b63272ea31caf..f3d59888a251df4d3e37d0faec8a99de419951ee 100644 (file)
@@ -365,7 +365,7 @@ void CldMultipleSend(int pe, int numToSend, int rank, int immed)
 }
 
 /* simple scheme - just send one by one. useful for multicore */
-void CldSimpleMultipleSend(int pe, int numToSend, int rank)
+void CldSimpleMultipleSend(int pe, int numToSend)
 {
   char *msg;
   int len, queueing, priobits, *msgSizes, i, numSent, done=0;
@@ -379,13 +379,13 @@ void CldSimpleMultipleSend(int pe, int numToSend, int rank)
   numSent = 0;
   while (!done) {
     for (i=0; i<numToSend; i++) {
-      CldGetTokenFromRank(&msg, rank);
+      CldGetToken(&msg);
       if (msg != 0) {
        done = 1;
        numToSend--;
        ifn = (CldInfoFn)CmiHandlerToFunction(CmiGetInfo(msg));
        ifn(msg, &pfn, &len, &queueing, &priobits, &prioptr);
-       CldSwitchHandler(msg, CpvAccessOther(CldBalanceHandlerIndex, rank));
+       CldSwitchHandler(msg, CpvAccessOther(CldBalanceHandlerIndex, pe));
         CmiSyncSendAndFree(pe, len, msg);
         if (numToSend == 0) done = 1;
       }
index fe32a496e41f5351af682d34016ef58483272e24..19e0eb2a70f06289a0a98b97f9391840e07b91fd 100644 (file)
@@ -14,7 +14,7 @@ CpvExtern(int, CldLoadNotify);
 CpvExtern(CmiNodeLock, cldLock);
 
 void CldMultipleSend(int pe, int numToSend, int rank, int immed);
-void CldSimpleMultipleSend(int pe, int numToSend, int rank);
+void CldSimpleMultipleSend(int pe, int numToSend);
 void CldSetPEBitVector(const char *);
 
 int  CldLoad(void);
index 3eaf653bd32494168329384a87fe8f2d00465e44..9446c7053efb9f1477e5cef7e87ea1e95c2e9e00 100644 (file)
@@ -284,21 +284,20 @@ void CldBalance(void *dummy, double curT)
           maxUnderAvg = avgLoad - CpvAccess(neighbors)[i].load;
         numUnderAvg++;
       }
-    if (numUnderAvg > 0)  {
-      int myrank = CmiMyRank();
+    if (numUnderAvg > 0)
       for (i=0; ((i<nNeighbors) && (overload>0)); i++) {
-        j = (i+CpvAccess(Mindex))%CpvAccess(numNeighbors);
-        if (CpvAccess(neighbors)[j].load < avgLoad) {
-          numToMove = (avgLoad - CpvAccess(neighbors)[j].load);
+          j = (i+CpvAccess(Mindex))%CpvAccess(numNeighbors);
+          if (CpvAccess(neighbors)[j].load < avgLoad) {
+              numToMove = (avgLoad - CpvAccess(neighbors)[j].load);
           if (numToMove > overload)
-              numToMove = overload;
+            numToMove = overload;
           overload -= numToMove;
          CpvAccess(neighbors)[j].load += numToMove;
 #if CMK_MULTICORE
-          CldSimpleMultipleSend(CpvAccess(neighbors)[j].pe, numToMove, myrank);
+          CldSimpleMultipleSend(CpvAccess(neighbors)[j].pe, numToMove);
 #else
           CldMultipleSend(CpvAccess(neighbors)[j].pe, 
-                         numToMove, myrank
+                         numToMove, CmiMyRank()
 #if CMK_SMP
                          0
 #else
@@ -308,7 +307,6 @@ void CldBalance(void *dummy, double curT)
 #endif
         }
       }
-    }             /* end of numUnderAvg > 0 */
   }
   CldSendLoad();
 #if CMK_TRACE_ENABLED && TRACE_USEREVENTS
index b266c8e434638c3c41c0642c420b89e4683bfcd0..474bb203b5c4bdae2cb600060f622938214ac421 100644 (file)
@@ -523,7 +523,7 @@ static void ampiProcInit(void){
   }
 #endif
 
-   initBigSimTrace(1,1);
+  // initBigSimTrace(1,outtiming);
 }
 
 #if AMPIMSGLOG