PPL Logo

conv-core/cputopology.C File Reference

Go to the source code of this file.

Data Structures

struct  _procInfo
struct  _hostnameMsg
struct  _nodeTopoMsg
class  CpuTopology

Typedefs

typedef struct _hostnameMsg hostnameMsg
typedef struct _nodeTopoMsg nodeTopoMsg

Functions

int getXTNodeID (int mpirank, int nummpiranks)
 This scheme relies on using IP address to identify physical nodes written by Gengbin Zheng 9/2008.
int CmiNumCores (void)
static void cpuTopoHandler (void *m)
static void cpuTopoRecvHandler (void *msg)
static void * combineMessage (int *size, void *data, void **remote, int count)
int LrtsCpuTopoEnabled ()
int LrtsPeOnSameNode (int pe1, int pe2)
int LrtsNumNodes ()
int LrtsNodeSize (int node)
void LrtsPeOnNode (int node, int **pelist, int *num)
int LrtsRankOf (int pe)
int LrtsNodeOf (int pe)
int LrtsNodeFirst (int node)
void LrtsInitCpuTopo (char **argv)
int CmiCpuTopologyEnabled ()
int CmiPeOnSamePhysicalNode (int pe1, int pe2)
int CmiNumPhysicalNodes ()
int CmiNumPesOnPhysicalNode (int node)
void CmiGetPesOnPhysicalNode (int node, int **pelist, int *num)
int CmiPhysicalRank (int pe)
int CmiPhysicalNodeID (int pe)
int CmiGetFirstPeOnPhysicalNode (int node)
void CmiInitCPUTopology (char **argv)

Variables

static int cpuTopoHandlerIdx
static int cpuTopoRecvHandlerIdx
static nodeTopoMsgtopomsg = NULL
static CmmTable hostTable
static CpuTopology cpuTopo
static CmiNodeLock topoLock = 0
static int done = 0
static int _noip = 0


Typedef Documentation

typedef struct _hostnameMsg hostnameMsg

typedef struct _nodeTopoMsg nodeTopoMsg


Function Documentation

int getXTNodeID ( int  mpirank,
int  nummpiranks 
)

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

  • parameters changed from pe to node to be consistent with the function name
  • two new functions: CmiPhysicalNodeID and CmiPhysicalRank

3/5/2010 Gengbin Zheng

  • use CmiReduce to optimize the collection of node info

Definition at line 28 of file CrayNid.c.

References free(), and malloc().

int CmiNumCores ( void   ) 

static void cpuTopoHandler ( void *  m  )  [static]

static void cpuTopoRecvHandler ( void *  msg  )  [static]

static void* combineMessage ( int size,
void *  data,
void **  remote,
int  count 
) [static]

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 318 of file cputopology.C.

Referenced by CmiCpuTopologyEnabled().

int LrtsPeOnSameNode ( int  pe1,
int  pe2 
)

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().

int LrtsNodeSize ( int  node  ) 

void LrtsPeOnNode ( int  node,
int **  pelist,
int num 
)

Definition at line 343 of file cputopology.C.

References CpuTopology::bynodes, CkVec< T >::getVec(), and CkVec< T >::size().

Referenced by CmiGetPesOnPhysicalNode().

int LrtsRankOf ( int  pe  ) 

int LrtsNodeOf ( int  pe  ) 

Definition at line 360 of file cputopology.C.

References CmiNodeOf(), CpuTopology::nodeIDs, and CpuTopology::supported.

Referenced by CmiPhysicalNodeID().

int LrtsNodeFirst ( int  node  ) 

Definition at line 367 of file cputopology.C.

References CpuTopology::bynodes, CmiNodeFirst(), and CpuTopology::supported.

Referenced by CmiGetFirstPeOnPhysicalNode().

void LrtsInitCpuTopo ( char **  argv  ) 

int CmiCpuTopologyEnabled (  ) 

Definition at line 595 of file cputopology.C.

References LrtsCpuTopoEnabled().

Referenced by _initCharm().

int CmiPeOnSamePhysicalNode ( int  pe1,
int  pe2 
)

Definition at line 599 of file cputopology.C.

References LrtsPeOnSameNode().

int CmiNumPhysicalNodes (  ) 

int CmiNumPesOnPhysicalNode ( int  node  ) 

Definition at line 607 of file cputopology.C.

References LrtsNodeSize().

Referenced by topo::getSpanningTreeStrategy(), CkMemCheckPT::isMaster(), and LBTOPO_MACRO().

void CmiGetPesOnPhysicalNode ( int  node,
int **  pelist,
int num 
)

int CmiPhysicalRank ( int  pe  ) 

Definition at line 615 of file cputopology.C.

References LrtsRankOf().

Referenced by CkMemCheckPT::BuddyPE(), and LBTOPO_MACRO().

int CmiPhysicalNodeID ( int  pe  ) 

int CmiGetFirstPeOnPhysicalNode ( int  node  ) 

Definition at line 623 of file cputopology.C.

References LrtsNodeFirst().

Referenced by KLevelTree::KLevelTree(), LBTOPO_MACRO(), and ThreeLevelTree::ThreeLevelTree().


Variable Documentation

Definition at line 96 of file cputopology.C.

Definition at line 97 of file cputopology.C.

nodeTopoMsg* topomsg = NULL [static]

Definition at line 118 of file cputopology.C.

CmmTable hostTable [static]

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.

int done = 0 [static]

int _noip = 0 [static]

Definition at line 374 of file cputopology.C.


Generated on Fri May 25 08:00:44 2012 for Charm++ by  doxygen 1.5.5