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 getProcsPerNode () const
int hasMultipleProcsPerNode () const
void rankToCoordinates (int pe, int &x, int &y, int &z, int &t)
void rankToCoordinates (int pe, int &a, int &b, int &c, int &d, int &e, int &t)
int coordinatesToRank (int x, int y, int z, int t)
int coordinatesToRank (int a, int b, int c, int d, int e, int t)
int getHopsBetweenRanks (int pe1, int pe2)
void sortRanksByHops (int pe, int *pes, int *idx, int n)
int pickClosestRank (int mype, int *pes, int n)
int areNeighbors (int pe1, int pe2, int pe3, int distance)
void printAllocation (FILE *fp)
int getDimX ()
 The next 5 functions are only there for backward compatibility and should not be used.
int getDimY ()
int getDimZ ()
void rankToCoordinates (int pe, int &x, int &y, int &z)
int coordinatesToRank (int x, int y, int z)
int absX (int x)
int absY (int y)
int absZ (int z)
int absA (int a)
int absB (int b)
int absC (int c)
int absD (int d)
int absE (int e)

Private Member Functions

void quicksort (int pe, int *pes, int *arr, int left, int right)
int partition (int pe, int *pes, int *idx, int left, int right)

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
BGLTorusManager bgltm
BGPTorusManager bgptm
BGQTorusManager bgqtm
XT3TorusManager xt3tm
XTTorusManager xttm

Detailed Description

Definition at line 33 of file TopoManager.h.


Constructor & Destructor Documentation

TopoManager::TopoManager (  ) 

Definition at line 13 of file TopoManager.C.

References bgltm, bgptm, bgqtm, dimNA, dimNB, dimNC, dimND, dimNE, dimNT, dimNX, dimNY, dimNZ, dimX, dimY, dimZ, BGQTorusManager::getDimNA(), BGQTorusManager::getDimNB(), BGQTorusManager::getDimNC(), BGQTorusManager::getDimND(), BGQTorusManager::getDimNE(), XTTorusManager::getDimNT(), XT3TorusManager::getDimNT(), BGQTorusManager::getDimNT(), BGPTorusManager::getDimNT(), BGLTorusManager::getDimNT(), XTTorusManager::getDimNX(), XT3TorusManager::getDimNX(), BGQTorusManager::getDimNX(), BGPTorusManager::getDimNX(), BGLTorusManager::getDimNX(), XTTorusManager::getDimNY(), XT3TorusManager::getDimNY(), BGQTorusManager::getDimNY(), BGPTorusManager::getDimNY(), BGLTorusManager::getDimNY(), XTTorusManager::getDimNZ(), XT3TorusManager::getDimNZ(), BGQTorusManager::getDimNZ(), BGPTorusManager::getDimNZ(), BGLTorusManager::getDimNZ(), XTTorusManager::getDimX(), XT3TorusManager::getDimX(), BGQTorusManager::getDimX(), BGPTorusManager::getDimX(), BGLTorusManager::getDimX(), XTTorusManager::getDimY(), XT3TorusManager::getDimY(), BGQTorusManager::getDimY(), BGPTorusManager::getDimY(), BGLTorusManager::getDimY(), XTTorusManager::getDimZ(), XT3TorusManager::getDimZ(), BGQTorusManager::getDimZ(), BGPTorusManager::getDimZ(), BGLTorusManager::getDimZ(), XTTorusManager::getProcsPerNode(), XT3TorusManager::getProcsPerNode(), BGQTorusManager::getProcsPerNode(), BGPTorusManager::getProcsPerNode(), BGLTorusManager::getProcsPerNode(), XTTorusManager::isTorus(), XT3TorusManager::isTorus(), BGQTorusManager::isTorus(), BGPTorusManager::isTorus(), BGLTorusManager::isTorus(), numPes, procsPerNode, torusA, torusB, torusC, torusD, torusE, torusT, torusX, torusY, torusZ, xt3tm, and xttm.

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

Definition at line 144 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 37 of file TopoManager.h.


Member Function Documentation

int TopoManager::getDimNX (  )  const [inline]

Definition at line 39 of file TopoManager.h.

References dimNX.

Referenced by ScotchTopoLB::work().

int TopoManager::getDimNY (  )  const [inline]

Definition at line 40 of file TopoManager.h.

References dimNY.

Referenced by ScotchTopoLB::work().

int TopoManager::getDimNZ (  )  const [inline]

Definition at line 41 of file TopoManager.h.

References dimNZ.

Referenced by ScotchTopoLB::work().

int TopoManager::getDimNA (  )  const [inline]

Definition at line 43 of file TopoManager.h.

References dimNA.

int TopoManager::getDimNB (  )  const [inline]

Definition at line 44 of file TopoManager.h.

References dimNB.

int TopoManager::getDimNC (  )  const [inline]

Definition at line 45 of file TopoManager.h.

References dimNC.

int TopoManager::getDimND (  )  const [inline]

Definition at line 46 of file TopoManager.h.

References dimND.

int TopoManager::getDimNE (  )  const [inline]

Definition at line 47 of file TopoManager.h.

References dimNE.

int TopoManager::getDimNT (  )  const [inline]

Definition at line 49 of file TopoManager.h.

References dimNT.

int TopoManager::getProcsPerNode (  )  const [inline]

Definition at line 51 of file TopoManager.h.

References procsPerNode.

int TopoManager::hasMultipleProcsPerNode (  )  const

Definition at line 163 of file TopoManager.C.

References procsPerNode.

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

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

Definition at line 250 of file TopoManager.C.

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

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

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

Definition at line 307 of file TopoManager.C.

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

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

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

Definition at line 329 of file TopoManager.C.

References quicksort().

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

Definition at line 351 of file TopoManager.C.

References getHopsBetweenRanks().

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

Definition at line 365 of file TopoManager.C.

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

void TopoManager::printAllocation ( FILE *  fp  ) 

Definition at line 423 of file TopoManager.C.

References dimNX, dimNY, dimNZ, numPes, and rankToCoordinates().

Referenced by _initCharm(), and LogPool::writeTopo().

int TopoManager::getDimX (  )  [inline]

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

Definition at line 66 of file TopoManager.h.

References dimX.

int TopoManager::getDimY (  )  [inline]

Definition at line 67 of file TopoManager.h.

References dimY.

int TopoManager::getDimZ (  )  [inline]

Definition at line 68 of file TopoManager.h.

References dimZ.

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

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

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

Definition at line 72 of file TopoManager.h.

References abs(), dimNX, and torusX.

Referenced by areNeighbors(), and getHopsBetweenRanks().

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

Definition at line 82 of file TopoManager.h.

References abs(), dimNY, and torusY.

Referenced by areNeighbors(), and getHopsBetweenRanks().

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

Definition at line 92 of file TopoManager.h.

References abs(), dimNZ, sz, and torusZ.

Referenced by areNeighbors(), and getHopsBetweenRanks().

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

Definition at line 102 of file TopoManager.h.

References abs(), dimNA, and torusA.

Referenced by areNeighbors(), and getHopsBetweenRanks().

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

Definition at line 112 of file TopoManager.h.

References abs(), dimNB, and torusB.

Referenced by areNeighbors(), and getHopsBetweenRanks().

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

Definition at line 122 of file TopoManager.h.

References abs(), dimNC, and torusC.

Referenced by areNeighbors(), and getHopsBetweenRanks().

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

Definition at line 132 of file TopoManager.h.

References abs(), dimND, and torusD.

Referenced by areNeighbors(), and getHopsBetweenRanks().

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

Definition at line 142 of file TopoManager.h.

References abs(), and dimNE.

Referenced by areNeighbors(), and getHopsBetweenRanks().

void TopoManager::quicksort ( int  pe,
int pes,
int arr,
int  left,
int  right 
) [private]

Definition at line 394 of file TopoManager.C.

References partition().

Referenced by sortRanksByHops().

int TopoManager::partition ( int  pe,
int pes,
int idx,
int  left,
int  right 
) [private]

Definition at line 402 of file TopoManager.C.

References getHopsBetweenRanks().

Referenced by quicksort().


Field Documentation

Definition at line 150 of file TopoManager.h.

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

Definition at line 151 of file TopoManager.h.

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

Definition at line 152 of file TopoManager.h.

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

Definition at line 155 of file TopoManager.h.

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

Definition at line 156 of file TopoManager.h.

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

Definition at line 158 of file TopoManager.h.

Referenced by absX(), and TopoManager().

Definition at line 158 of file TopoManager.h.

Referenced by absY(), and TopoManager().

Definition at line 158 of file TopoManager.h.

Referenced by absZ(), and TopoManager().

Definition at line 158 of file TopoManager.h.

Referenced by TopoManager().

Definition at line 160 of file TopoManager.h.

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

Definition at line 160 of file TopoManager.h.

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

Definition at line 160 of file TopoManager.h.

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

Definition at line 160 of file TopoManager.h.

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

Definition at line 160 of file TopoManager.h.

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

Definition at line 161 of file TopoManager.h.

Referenced by absA(), and TopoManager().

Definition at line 161 of file TopoManager.h.

Referenced by absB(), and TopoManager().

Definition at line 161 of file TopoManager.h.

Referenced by absC(), and TopoManager().

Definition at line 161 of file TopoManager.h.

Referenced by absD(), and TopoManager().

Definition at line 161 of file TopoManager.h.

Referenced by TopoManager().

Definition at line 163 of file TopoManager.h.

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

Definition at line 165 of file TopoManager.h.

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

Definition at line 167 of file TopoManager.h.

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

Definition at line 169 of file TopoManager.h.

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

Definition at line 171 of file TopoManager.h.

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

Definition at line 173 of file TopoManager.h.

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


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

Generated on Fri May 25 08:05:46 2012 for Charm++ by  doxygen 1.5.5