
Go to the source code of this file.
| typedef struct _hostnameMsg hostnameMsg |
| typedef struct _nodeTopoMsg nodeTopoMsg |
This scheme relies on using IP address to identify physical nodes written by Gengbin Zheng 9/2008.
last updated 10/4/2009 Gengbin Zheng added function CmiCpuTopologyEnabled() which retuens 1 when supported when not supported return 0 all functions when cputopology not support, now act like a normal non-smp case and all PEs are unique.
major changes 10/28/09 Gengbin Zheng
3/5/2010 Gengbin Zheng
| int CmiNumCores | ( | void | ) |
Definition at line 52 of file cputopology.C.
Referenced by _initCharm(), CmiInitCPUAffinity(), CmiSetCPUAffinity(), cpuTopoHandler(), FuncNodeHelper::createPThreads(), LrtsInitCpuTopo(), pidtonid(), XT3TorusManager::XT3TorusManager(), and XTTorusManager::XTTorusManager().
| static void cpuTopoHandler | ( | void * | m | ) | [static] |
Definition at line 213 of file cputopology.C.
References CmiAlloc(), CmiFree(), CmiNumCores(), CmiPrintf(), Converse::CmiSyncBroadcastAllAndFree(), CmmEntries(), CmmFree(), CmmNew(), CmmPut(), _procInfo::ip, msg, _hostnameMsg::n, _procInfo::nodeID, _nodeTopoMsg::nodes, _procInfo::pe, _hostnameMsg::procs, _procInfo::rank, and tag.
Referenced by LrtsInitCpuTopo().
| static void cpuTopoRecvHandler | ( | void * | msg | ) | [static] |
Definition at line 271 of file cputopology.C.
References CmiFree(), CmiLock(), CmiUnlock(), CpuTopology::nodeIDs, _nodeTopoMsg::nodes, and CpuTopology::sort().
Referenced by LrtsInitCpuTopo().
Definition at line 290 of file cputopology.C.
References CmiAlloc(), msg, _hostnameMsg::n, n, and _hostnameMsg::procs.
Referenced by LrtsInitCpuTopo().
| int LrtsCpuTopoEnabled | ( | ) |
Definition at line 323 of file cputopology.C.
References CmiNodeOf(), CpuTopology::nodeIDs, and CpuTopology::supported.
Referenced by CmiPeOnSamePhysicalNode().
| int LrtsNumNodes | ( | ) |
Definition at line 331 of file cputopology.C.
References CpuTopology::numUniqNodes(), and CpuTopology::supported.
Referenced by CmiNumPhysicalNodes().
Definition at line 337 of file cputopology.C.
References CpuTopology::bynodes, CmiNodeSize(), CkVec< T >::size(), and CpuTopology::supported.
Referenced by CmiNumPesOnPhysicalNode().
Definition at line 343 of file cputopology.C.
References CpuTopology::bynodes, CkVec< T >::getVec(), and CkVec< T >::size().
Referenced by CmiGetPesOnPhysicalNode().
Definition at line 349 of file cputopology.C.
References CpuTopology::bynodes, CmiRankOf(), CpuTopology::nodeIDs, CkVec< T >::size(), and CpuTopology::supported.
Referenced by CmiPhysicalRank().
Definition at line 360 of file cputopology.C.
References CmiNodeOf(), CpuTopology::nodeIDs, and CpuTopology::supported.
Referenced by CmiPhysicalNodeID().
Definition at line 367 of file cputopology.C.
References CpuTopology::bynodes, CmiNodeFirst(), and CpuTopology::supported.
Referenced by CmiGetFirstPeOnPhysicalNode().
| void LrtsInitCpuTopo | ( | char ** | argv | ) |
Definition at line 375 of file cputopology.C.
References BGConverse::BgNodeRank(), c, CcdRaiseCondition(), Converse::CkNumPes(), CmiAlloc(), CmiBarrier(), CmiCreateLock(), CmiGetArgFlagDesc(), CmiMyPe(), CmiMyRank(), CmiNodeAllBarrier(), CmiNodeOf(), CmiNumCores(), CmiPrintf(), CmiReduce(), CmiRegisterHandler(), CmiWallTimer(), combineMessage(), TopoManager::coordinatesToRank(), cpuTopoHandler(), cpuTopoRecvHandler(), CsdSchedulePoll(), getXTNodeID(), msg, _hostnameMsg::n, CpuTopology::nodeIDs, CpuTopology::numNodes, CpuTopology::numPes, CpuTopology::print(), _hostnameMsg::procs, TopoManager::rankToCoordinates(), skt_innode_my_ip(), skt_my_ip(), CpuTopology::sort(), startT, and tmgr.
Referenced by CmiInitCPUTopology().
| int CmiCpuTopologyEnabled | ( | ) |
Definition at line 595 of file cputopology.C.
References LrtsCpuTopoEnabled().
Referenced by _initCharm().
| int CmiNumPhysicalNodes | ( | ) |
Definition at line 603 of file cputopology.C.
References LrtsNumNodes().
Referenced by CkMemCheckPT::BuddyPE(), CkMemCheckPT::CkMemCheckPT(), CkMemCheckPT::isMaster(), KLevelTree::KLevelTree(), LBTOPO_MACRO(), and ThreeLevelTree::ThreeLevelTree().
Definition at line 607 of file cputopology.C.
References LrtsNodeSize().
Referenced by topo::getSpanningTreeStrategy(), CkMemCheckPT::isMaster(), and LBTOPO_MACRO().
Definition at line 611 of file cputopology.C.
References LrtsPeOnNode().
Referenced by _initCharm(), CkMemCheckPT::BuddyPE(), topo::impl::buildNextGen_nodeAware_minBytes(), topo::impl::buildNextGen_nodeAware_minGens(), getFirstPeOnPhysicalNodeFromList(), getNthPeOnPhysicalNodeFromList(), getOtherPesOnPhysicalNodeFromList(), getPesOnPhysicalNodeFromList(), and LBTOPO_MACRO().
Definition at line 615 of file cputopology.C.
References LrtsRankOf().
Referenced by CkMemCheckPT::BuddyPE(), and LBTOPO_MACRO().
Definition at line 619 of file cputopology.C.
References LrtsNodeOf().
Referenced by CkMemCheckPT::BuddyPE(), topo::impl::buildNextGen_nodeAware_minBytes(), topo::impl::buildNextGen_nodeAware_minGens(), getFirstPeOnPhysicalNodeFromList(), getNthPeOnPhysicalNodeFromList(), getOtherPesOnPhysicalNodeFromList(), getPesOnPhysicalNodeFromList(), topo::getSpanningTreeStrategy(), CkMemCheckPT::isMaster(), and LBTOPO_MACRO().
Definition at line 623 of file cputopology.C.
References LrtsNodeFirst().
Referenced by KLevelTree::KLevelTree(), LBTOPO_MACRO(), and ThreeLevelTree::ThreeLevelTree().
int cpuTopoHandlerIdx [static] |
Definition at line 96 of file cputopology.C.
int cpuTopoRecvHandlerIdx [static] |
Definition at line 97 of file cputopology.C.
nodeTopoMsg* topomsg = NULL [static] |
Definition at line 118 of file cputopology.C.
Definition at line 119 of file cputopology.C.
CpuTopology cpuTopo [static] |
Definition at line 208 of file cputopology.C.
CmiNodeLock topoLock = 0 [static] |
Definition at line 209 of file cputopology.C.
Definition at line 210 of file cputopology.C.
Referenced by ADIOI_Exch_and_write(), ADIOI_HFS_Fcntl(), ADIOI_NFS_Fcntl(), ADIOI_NFS_ReadDone(), ADIOI_NTFS_Fcntl(), ADIOI_NTFS_ReadDone(), ADIOI_PFS_ReadDone(), ADIOI_PIOFS_Fcntl(), ADIOI_PVFS_Fcntl(), ADIOI_Read_and_exch(), ADIOI_SFS_Fcntl(), ADIOI_UFS_Fcntl(), ADIOI_UFS_ReadDone(), ADIOI_XFS_ReadDone(), arg_init(), CldMultipleSend(), CldSimpleMultipleSend(), CmiAllAsyncMsgsSent(), CmiAsyncMsgSent(), CmiReleaseSentMessages(), FEM_AdaptL::edge_bisect(), FEM_AdaptL::edge_contraction(), FEM_AdaptL::edge_contraction_help(), FEM_AdaptL::edge_flip(), TraceSummary::endComputation(), FEM_Modify_correctLockN(), FEM_Modify_LockAll(), instrumentedData::filterOutIncompletePhases(), FEM_lock::lock(), Moc_Diffusion(), MPI_Info_delete(), TopologyAgent::my_preferred_procs(), ParallelTotalVReMap(), LBstrategy::recvLoadReport(), RefinerComm::refine(), Refiner::refine(), SendMsgBuf(), IDXL_Side::setNode(), FEM_MUtil::StructureTest(), TimeBucket::tb_free(), FEM_lock::unlock(), IDXL_Side::unsetNode(), VectorStrategy(), FEM_AdaptL::vertex_remove(), and WavefrontDiffusion().
Definition at line 374 of file cputopology.C.
1.5.5