void ComputeMgr::sendBuildMICForceTable() { CProxy_ComputeMgr cm(CkpvAccess(BOCclass_group).computeMgr); int pe = CkNodeFirst(CkMyNode()); int end = pe + CkNodeSize(CkMyNode()); for( ; pe != end; ++pe ) { cm[pe].recvBuildMICForceTable(); } }
int CkArrayReductionMgr::getTotalGCount(){ int firstPE = CkNodeFirst(CkMyNode()); int totalGCount=0; for(int i=0;i<size;i++){ CProxy_CkReductionMgr reductionMgrProxy(attachedGroup); CkReductionMgr *mgrPtr = reductionMgrProxy[firstPE+i].ckLocalBranch(); CkAssert(mgrPtr != NULL); totalGCount += mgrPtr->getGCount(); } return totalGCount; }
int CkArrayReductionMgr::startLocalGroupReductions(int number){ ARPRINT("[%d] startLocalGroupReductions for red No %d my group %d attached group %d number of rednMgrs %d on %p \n",CkMyNode(),number,thisgroup.idx, attachedGroup.idx,size,this); if(attachedGroup.isZero()){ alreadyStarted = number; return 0; } int firstPE = CkNodeFirst(CkMyNode()); for(int i=0;i<size;i++){ CProxy_CkReductionMgr reductionMgrProxy(attachedGroup); reductionMgrProxy[firstPE+i].ReductionStarting(new CkReductionNumberMsg(number)); } return 1; }