set flag to reset contribute
authorXiang Ni <xiangni2@illinois.edu>
Thu, 25 Oct 2012 23:48:20 +0000 (18:48 -0500)
committerXiang Ni <xiangni2@illinois.edu>
Thu, 25 Oct 2012 23:48:20 +0000 (18:48 -0500)
src/ck-core/cklocation.C
src/ck-core/cklocation.h
src/ck-core/ckmemcheckpoint.C

index 64551958a0bd9eacbbe5898f45d14c66168d852b..4916b71b95bfccae00244d174cecb3516e7472ee 100644 (file)
@@ -2168,7 +2168,7 @@ void CkLocMgr::pup(PUP::er &p){
  * since they will be recreated later anyway
  */
 #if (defined(_FAULT_MLOG_) || defined(_FAULT_CAUSAL_))  || CMK_MEM_CHECKPOINT   
-        int count=0,count1=0;
+               int count=0,count1=0;
         void *objp;
         void *keyp;
         CkVec<int> pe_list;
@@ -2773,7 +2773,7 @@ void CkLocMgr::pupElementsFor(PUP::er &p,CkLocRec_local *rec,
 }
 #else
 void CkLocMgr::pupElementsFor(PUP::er &p,CkLocRec_local *rec,
-               CkElementCreation_t type)
+               CkElementCreation_t type,CmiBool rebuild)
 {
        p.comment("-------- Array Location --------");
        register ManagerRec *m;
@@ -2810,7 +2810,7 @@ void CkLocMgr::pupElementsFor(PUP::er &p,CkLocRec_local *rec,
                 }
        }
 #if CMK_MEM_CHECKPOINT
-       if(CkInRestarting()){
+       if(rebuild){
          ArrayElement *elt;
          CkVec<CkMigratable *> list;
          migratableList(rec, list);
@@ -3087,12 +3087,12 @@ void CkLocMgr::resume(const CkArrayIndex &idx, PUP::er &p, CmiBool create, int d
     }
 }
 #else
-void CkLocMgr::resume(const CkArrayIndex &idx, PUP::er &p, CmiBool notify)
+void CkLocMgr::resume(const CkArrayIndex &idx, PUP::er &p, CmiBool notify,CmiBool rebuild)
 {
        CkLocRec_local *rec=createLocal(idx,CmiFalse,CmiFalse,notify /* home doesn't know yet */ );
 
        //Create the new elements as we unpack the message
-       pupElementsFor(p,rec,CkElementCreation_resume);
+       pupElementsFor(p,rec,CkElementCreation_resume,rebuild);
 
        callMethod(rec,&CkMigratable::ckJustMigrated);
 }
index f02601a91838542d663db8097864f67428c26d04..c80995a12014d663c9d666e3bcb26a1e94ab2c96 100644 (file)
@@ -602,8 +602,6 @@ public:
                if (managers.find(arrayID)->mgr==NULL)
                        CkAbort("CkLocMgr::lookupLocal called for unknown array!\n");
 #endif
-               if (managers.find(arrayID)->mgr==NULL)
-                       CkAbort("CkLocMgr::lookupLocal called for unknown array!\n");
                return managers.find(arrayID)->elts.get(localIdx);
        }
 
@@ -657,7 +655,7 @@ public:
 #if (defined(_FAULT_MLOG_) || defined(_FAULT_CAUSAL_))
        void resume(const CkArrayIndex &idx, PUP::er &p, CmiBool create, int dummy=0);
 #else
-       void resume(const CkArrayIndex &idx, PUP::er &p, CmiBool notify=CmiTrue);
+       void resume(const CkArrayIndex &idx, PUP::er &p, CmiBool notify=CmiTrue,CmiBool=CmiFalse);
 #endif
 
 //Communication:
@@ -699,7 +697,7 @@ private:
         CkElementCreation_t type, CmiBool create=CmiTrue, int dummy=0);
 #else
        void pupElementsFor(PUP::er &p,CkLocRec_local *rec,
-               CkElementCreation_t type);
+               CkElementCreation_t type,CmiBool rebuild = CmiFalse);
 #endif
 
        /// Call this member function on each element of this location:
index ee0ac614a065d711921d81b54636062d5f6e8eef..c526d1bd293a440db1f30b0692cf73bf5f4a20df 100644 (file)
@@ -66,7 +66,7 @@ void noopck(const char*, ...)
 #endif
 
 #define CMK_CHKP_ALL           1
-#define CMK_USE_BARRIER                1
+#define CMK_USE_BARRIER                0
 
 //stream remote records happned only if CK_NO_PROC_POOL =1 which means the chares to pe map will change
 #define STREAMING_INFORMHOME                    1
@@ -1080,9 +1080,9 @@ void CkMemCheckPT::recoverAll(CkArrayCheckPTMessage * msg,CkVec<CkGroupID> * gma
                        CkLocMgr * mgr = (CkLocMgr *)CkpvAccess(_groupTable)->find(gID).getObj();
                        int homePe = mgr->homePe(idx);
 #if !STREAMING_INFORMHOME && CK_NO_PROC_POOL
-                       mgr->resume(idx,p,CmiTrue);
+                       mgr->resume(idx,p,CmiTrue,CmiTrue);
 #else
-                       mgr->resume(idx,p,CmiFalse);
+                       mgr->resume(idx,p,CmiFalse,CmiTrue);
 #endif
 #if STREAMING_INFORMHOME && CK_NO_PROC_POOL
                        homePe = mgr->homePe(idx);