PPL Logo

TopoManager Class Reference

#include <TopoManager.h>

Collaboration diagram for TopoManager:

Collaboration graph
[legend]

Public Member Functions

 TopoManager ()
 TopoManager (int NX, int NY, int NZ, int NT)
 ~TopoManager ()
int getDimNX () const
int getDimNY () const
int getDimNZ () const
int getDimNA () const
int getDimNB () const
int getDimNC () const
int getDimND () const
int getDimNE () const
int getDimNT () const
int getNumDims () const
int getDimSize (unsigned int i) const
bool haveTopologyInfo () const
int getProcsPerNode () const
bool hasMultipleProcsPerNode () const
void rankToCoordinates (int pe, std::vector< int > &coords) const
void rankToCoordinates (int pe, int &x, int &y, int &z, int &t) const
void rankToCoordinates (int pe, int &a, int &b, int &c, int &d, int &e, int &t) const
int coordinatesToRank (int x, int y, int z, int t) const
 Return pe at specified coordinates, or -1 if doesn't exist.
int coordinatesToRank (int a, int b, int c, int d, int e, int t) const
 Return pe at specified coordinates, or -1 if doesn't exist.
int getHopsBetweenRanks (int pe1, int pe2) const
int getHopsBetweenRanks (int *pe1, int pe2) const
void sortRanksByHops (int pe, int *pes, int *idx, int n) const
void sortRanksByHops (int *pe, int *pes, int *idx, int n) const
int pickClosestRank (int mype, int *pes, int n) const
int areNeighbors (int pe1, int pe2, int pe3, int distance) const
void printAllocation (FILE *fp) const
int getDimX () const
 The next 5 functions are only there for backward compatibility and should not be used.
int getDimY () const
int getDimZ () const
void rankToCoordinates (int pe, int &x, int &y, int &z) const
int coordinatesToRank (int x, int y, int z) const
int absX (int x) const
int absY (int y) const
int absZ (int z) const
int absA (int a) const
int absB (int b) const
int absC (int c) const
int absD (int d) const
int absE (int e) const

Static Public Member Functions

static TopoManagergetTopoManager ()

Private Attributes

int dimX
int dimY
int dimZ
int dimNX
int dimNY
int dimNZ
int dimNT
int numPes
int torusX
int torusY
int torusZ
int torusT
int dimNA
int dimNB
int dimNC
int dimND
int dimNE
int torusA
int torusB
int torusC
int torusD
int torusE
int procsPerNode
BGQTorusManager bgqtm
XTTorusManager xttm

Detailed Description

Definition at line 75 of file TopoManager.h.


Constructor & Destructor Documentation

TopoManager::TopoManager (  ) 

TopoManager::TopoManager ( int  NX,
int  NY,
int  NZ,
int  NT 
)

Definition at line 114 of file TopoManager.C.

References dimNT, dimNX, dimNY, dimNZ, dimX, dimY, dimZ, numPes, procsPerNode, torusA, torusB, torusC, torusD, torusE, torusX, torusY, and torusZ.

TopoManager::~TopoManager (  )  [inline]

Definition at line 79 of file TopoManager.h.


Member Function Documentation

TopoManager * TopoManager::getTopoManager (  )  [static]

int TopoManager::getDimNX (  )  const [inline]

int TopoManager::getDimNY (  )  const [inline]

int TopoManager::getDimNZ (  )  const [inline]

int TopoManager::getDimNA (  )  const [inline]

Definition at line 92 of file TopoManager.h.

References dimNA.

Referenced by getDimSize(), and TopoManager_init().

Here is the caller graph for this function:

int TopoManager::getDimNB (  )  const [inline]

Definition at line 93 of file TopoManager.h.

References dimNB.

Referenced by getDimSize(), and TopoManager_init().

Here is the caller graph for this function:

int TopoManager::getDimNC (  )  const [inline]

Definition at line 94 of file TopoManager.h.

References dimNC.

Referenced by getDimSize(), and TopoManager_init().

Here is the caller graph for this function:

int TopoManager::getDimND (  )  const [inline]

Definition at line 95 of file TopoManager.h.

References dimND.

Referenced by getDimSize(), and TopoManager_init().

Here is the caller graph for this function:

int TopoManager::getDimNE (  )  const [inline]

Definition at line 96 of file TopoManager.h.

References dimNE.

Referenced by getDimSize(), and TopoManager_init().

Here is the caller graph for this function:

int TopoManager::getDimNT (  )  const [inline]

Definition at line 98 of file TopoManager.h.

References dimNT.

Referenced by TopoManager_init().

Here is the caller graph for this function:

int TopoManager::getNumDims (  )  const [inline]

int TopoManager::getDimSize ( unsigned int  i  )  const [inline]

Definition at line 106 of file TopoManager.h.

References getDimNA(), getDimNB(), getDimNC(), getDimND(), getDimNE(), getDimNX(), getDimNY(), and getDimNZ().

Referenced by ST_RecursivePartition< Iterator >::ST_RecursivePartition(), and ST_RecursivePartition< Iterator >::translateCoordinates().

Here is the call graph for this function:

Here is the caller graph for this function:

bool TopoManager::haveTopologyInfo (  )  const [inline]

int TopoManager::getProcsPerNode (  )  const [inline]

Definition at line 135 of file TopoManager.h.

References procsPerNode.

bool TopoManager::hasMultipleProcsPerNode (  )  const [inline]

Definition at line 137 of file TopoManager.h.

References procsPerNode.

void TopoManager::rankToCoordinates ( int  pe,
std::vector< int > &  coords 
) const

void TopoManager::rankToCoordinates ( int  pe,
int x,
int y,
int z,
int t 
) const

Definition at line 176 of file TopoManager.C.

References bgqtm, CmiPhysicalNodeID(), CmiPhysicalRank(), dimNT, dimNX, dimNY, numPes, XTTorusManager::rankToCoordinates(), BGQTorusManager::rankToCoordinates(), and xttm.

Here is the call graph for this function:

void TopoManager::rankToCoordinates ( int  pe,
int a,
int b,
int c,
int d,
int e,
int t 
) const

Definition at line 212 of file TopoManager.C.

References bgqtm, numPes, and BGQTorusManager::rankToCoordinates().

Here is the call graph for this function:

int TopoManager::coordinatesToRank ( int  x,
int  y,
int  z,
int  t 
) const

Return pe at specified coordinates, or -1 if doesn't exist.

Definition at line 239 of file TopoManager.C.

References bgqtm, CmiGetFirstPeOnPhysicalNode(), CmiNumPesOnPhysicalNode(), XTTorusManager::coordinatesToRank(), BGQTorusManager::coordinatesToRank(), dimNT, dimNX, dimNY, and xttm.

Referenced by LrtsInitCpuTopo(), ReadFileMap::registerArray(), and TopoManager_init().

Here is the call graph for this function:

Here is the caller graph for this function:

int TopoManager::coordinatesToRank ( int  a,
int  b,
int  c,
int  d,
int  e,
int  t 
) const

Return pe at specified coordinates, or -1 if doesn't exist.

Definition at line 264 of file TopoManager.C.

References bgqtm, BGQTorusManager::coordinatesToRank(), and dimNT.

Here is the call graph for this function:

int TopoManager::getHopsBetweenRanks ( int  pe1,
int  pe2 
) const

Definition at line 271 of file TopoManager.C.

References absA(), absB(), absC(), absD(), absE(), absX(), absY(), absZ(), e1, numPes, and rankToCoordinates().

Referenced by CompareRankDist::CompareRankDist(), ST_RecursivePartition< Iterator >::PhyNode< Iterator >::distance(), topo::numHops(), pickClosestRank(), and TopoManager_init().

Here is the call graph for this function:

Here is the caller graph for this function:

int TopoManager::getHopsBetweenRanks ( int pe1,
int  pe2 
) const

Definition at line 287 of file TopoManager.C.

References absA(), absB(), absC(), absD(), absE(), absX(), absY(), absZ(), numPes, and rankToCoordinates().

Here is the call graph for this function:

void TopoManager::sortRanksByHops ( int  pe,
int pes,
int idx,
int  n 
) const

Definition at line 301 of file TopoManager.C.

References rankToCoordinates().

Here is the call graph for this function:

void TopoManager::sortRanksByHops ( int pe,
int pes,
int idx,
int  n 
) const

Definition at line 314 of file TopoManager.C.

References sort().

Here is the call graph for this function:

int TopoManager::pickClosestRank ( int  mype,
int pes,
int  n 
) const

Definition at line 321 of file TopoManager.C.

References getHopsBetweenRanks().

Here is the call graph for this function:

int TopoManager::areNeighbors ( int  pe1,
int  pe2,
int  pe3,
int  distance 
) const

Definition at line 335 of file TopoManager.C.

References absA(), absB(), absC(), absD(), absE(), absX(), absY(), absZ(), and rankToCoordinates().

Here is the call graph for this function:

void TopoManager::printAllocation ( FILE *  fp  )  const

Definition at line 365 of file TopoManager.C.

References PUP::a, PUP::b, c, CmiNodeOf(), PUP::d, dimNA, dimNB, dimNC, dimND, dimNE, numPes, rankToCoordinates(), and PUP::t.

Referenced by TopoManager_init().

Here is the call graph for this function:

Here is the caller graph for this function:

int TopoManager::getDimX (  )  const [inline]

The next 5 functions are only there for backward compatibility and should not be used.

Definition at line 159 of file TopoManager.h.

References dimX.

int TopoManager::getDimY (  )  const [inline]

Definition at line 160 of file TopoManager.h.

References dimY.

int TopoManager::getDimZ (  )  const [inline]

Definition at line 161 of file TopoManager.h.

References dimZ.

void TopoManager::rankToCoordinates ( int  pe,
int x,
int y,
int z 
) const

Definition at line 142 of file TopoManager.C.

References CmiPhysicalNodeID(), dimX, dimY, numPes, XTTorusManager::rankToCoordinates(), PUP::t, and xttm.

Here is the call graph for this function:

int TopoManager::coordinatesToRank ( int  x,
int  y,
int  z 
) const

Definition at line 218 of file TopoManager.C.

References CmiGetFirstPeOnPhysicalNode(), XTTorusManager::coordinatesToRank(), dimX, dimY, dimZ, and xttm.

Here is the call graph for this function:

int TopoManager::absX ( int  x  )  const [inline]

Definition at line 165 of file TopoManager.h.

References abs(), dimNX, and torusX.

Referenced by areNeighbors(), and getHopsBetweenRanks().

Here is the call graph for this function:

Here is the caller graph for this function:

int TopoManager::absY ( int  y  )  const [inline]

Definition at line 175 of file TopoManager.h.

References abs(), dimNY, and torusY.

Referenced by areNeighbors(), and getHopsBetweenRanks().

Here is the call graph for this function:

Here is the caller graph for this function:

int TopoManager::absZ ( int  z  )  const [inline]

Definition at line 185 of file TopoManager.h.

References abs(), dimNZ, and torusZ.

Referenced by areNeighbors(), and getHopsBetweenRanks().

Here is the call graph for this function:

Here is the caller graph for this function:

int TopoManager::absA ( int  a  )  const [inline]

Definition at line 195 of file TopoManager.h.

References abs(), dimNA, sa, and torusA.

Referenced by areNeighbors(), and getHopsBetweenRanks().

Here is the call graph for this function:

Here is the caller graph for this function:

int TopoManager::absB ( int  b  )  const [inline]

Definition at line 205 of file TopoManager.h.

References abs(), dimNB, and torusB.

Referenced by areNeighbors(), and getHopsBetweenRanks().

Here is the call graph for this function:

Here is the caller graph for this function:

int TopoManager::absC ( int  c  )  const [inline]

Definition at line 215 of file TopoManager.h.

References abs(), dimNC, and torusC.

Referenced by areNeighbors(), and getHopsBetweenRanks().

Here is the call graph for this function:

Here is the caller graph for this function:

int TopoManager::absD ( int  d  )  const [inline]

Definition at line 225 of file TopoManager.h.

References abs(), dimND, and torusD.

Referenced by areNeighbors(), and getHopsBetweenRanks().

Here is the call graph for this function:

Here is the caller graph for this function:

int TopoManager::absE ( int  e  )  const [inline]

Definition at line 235 of file TopoManager.h.

References abs(), and dimNE.

Referenced by areNeighbors(), and getHopsBetweenRanks().

Here is the call graph for this function:

Here is the caller graph for this function:


Field Documentation

Definition at line 243 of file TopoManager.h.

Referenced by coordinatesToRank(), getDimX(), rankToCoordinates(), and TopoManager().

Definition at line 244 of file TopoManager.h.

Referenced by coordinatesToRank(), getDimY(), rankToCoordinates(), and TopoManager().

Definition at line 245 of file TopoManager.h.

Referenced by coordinatesToRank(), getDimZ(), and TopoManager().

Definition at line 246 of file TopoManager.h.

Referenced by absX(), coordinatesToRank(), getDimNX(), rankToCoordinates(), and TopoManager().

Definition at line 247 of file TopoManager.h.

Referenced by absY(), coordinatesToRank(), getDimNY(), rankToCoordinates(), and TopoManager().

Definition at line 248 of file TopoManager.h.

Referenced by absZ(), getDimNZ(), and TopoManager().

Definition at line 249 of file TopoManager.h.

Referenced by coordinatesToRank(), getDimNT(), rankToCoordinates(), and TopoManager().

Definition at line 251 of file TopoManager.h.

Referenced by absX(), and TopoManager().

Definition at line 251 of file TopoManager.h.

Referenced by absY(), and TopoManager().

Definition at line 251 of file TopoManager.h.

Referenced by absZ(), and TopoManager().

Definition at line 251 of file TopoManager.h.

Referenced by TopoManager().

Definition at line 253 of file TopoManager.h.

Referenced by absA(), getDimNA(), printAllocation(), and TopoManager().

Definition at line 253 of file TopoManager.h.

Referenced by absB(), getDimNB(), printAllocation(), and TopoManager().

Definition at line 253 of file TopoManager.h.

Referenced by absC(), getDimNC(), printAllocation(), and TopoManager().

Definition at line 253 of file TopoManager.h.

Referenced by absD(), getDimND(), printAllocation(), and TopoManager().

Definition at line 253 of file TopoManager.h.

Referenced by absE(), getDimNE(), printAllocation(), and TopoManager().

Definition at line 254 of file TopoManager.h.

Referenced by absA(), and TopoManager().

Definition at line 254 of file TopoManager.h.

Referenced by absB(), and TopoManager().

Definition at line 254 of file TopoManager.h.

Referenced by absC(), and TopoManager().

Definition at line 254 of file TopoManager.h.

Referenced by absD(), and TopoManager().

Definition at line 254 of file TopoManager.h.

Referenced by TopoManager().

Definition at line 256 of file TopoManager.h.

Referenced by getProcsPerNode(), hasMultipleProcsPerNode(), and TopoManager().

Definition at line 258 of file TopoManager.h.

Referenced by coordinatesToRank(), rankToCoordinates(), and TopoManager().

Definition at line 260 of file TopoManager.h.

Referenced by coordinatesToRank(), rankToCoordinates(), and TopoManager().


The documentation for this class was generated from the following files:

Generated on Mon Sep 21 08:31:06 2020 for Charm++ by  doxygen 1.5.5