Zoltan2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | List of all members
Zoltan2::MachineRepresentation< pcoord_t, part_t > Class Template Reference

MachineRepresentation Class Base class for representing machine coordinates, networks, etc. More...

#include <Zoltan2_MachineRepresentation.hpp>

Public Types

typedef pcoord_t machine_pcoord_t
 
typedef part_t machine_part_t
 
typedef MachineForTesting
< pcoord_t, part_t
machine_t
 

Public Member Functions

 MachineRepresentation (const Teuchos::Comm< int > &comm)
 Constructor MachineRepresentation Class. More...
 
 MachineRepresentation (const Teuchos::Comm< int > &comm, const Teuchos::ParameterList &pl)
 
 ~MachineRepresentation ()
 
bool hasMachineCoordinates () const
 indicates whether or not the machine has coordinates More...
 
int getMachineDim () const
 returns the dimension (number of coords per node) in the machine More...
 
bool getMachineExtent (int *nxyz) const
 sets the number of unique coordinates in each machine dimension More...
 
bool getMachineExtentWrapArounds (bool *wrap_around) const
 if the machine has a wrap-around tourus link in each dimension. More...
 
bool getMyMachineCoordinate (pcoord_t *xyz) const
 getMyCoordinate function set the machine coordinate xyz of the current process return true if current process' coordinates are available More...
 
bool getMachineCoordinate (const int rank, pcoord_t *xyz) const
 getCoordinate function set the machine coordinate xyz of any rank process return true if coordinates are available by rank More...
 
bool getMachineCoordinate (const char *nodename, pcoord_t *xyz) const
 getCoordinate function set the machine coordinate xyz of any node by nodename return true if coordinates are available by nodename More...
 
bool getAllMachineCoordinatesView (pcoord_t **&allCoords) const
 getProcDim function set the coordinates of all ranks allCoords[i][j], i=0,...,getMachineDim(), j=0,...,getNumRanks(), is the i-th dimensional coordinate for rank j. return true if coordinates are available for all ranks More...
 
int getNumRanks () const
 return the number of ranks. More...
 
bool getHopCount (int rank1, int rank2, pcoord_t &hops) const
 return the hop count between rank1 and rank2 More...
 
part_t getNumUniqueGroups () const
 getNumUniqueGroups function return the number of unique Dragonfly network groups in provided allocation. More...
 
bool getGroupCount (part_t *grp_count) const
 return the number of ranks in each group (RCA X-dim, e.g. first dim) More...
 

Static Public Member Functions

static void getValidParameters (Teuchos::ParameterList &pl)
 Set up validators specific to this Problem. More...
 

Detailed Description

template<typename pcoord_t, typename part_t>
class Zoltan2::MachineRepresentation< pcoord_t, part_t >

MachineRepresentation Class Base class for representing machine coordinates, networks, etc.

Definition at line 25 of file Zoltan2_MachineRepresentation.hpp.

Member Typedef Documentation

template<typename pcoord_t, typename part_t>
typedef pcoord_t Zoltan2::MachineRepresentation< pcoord_t, part_t >::machine_pcoord_t

Definition at line 28 of file Zoltan2_MachineRepresentation.hpp.

template<typename pcoord_t, typename part_t>
typedef part_t Zoltan2::MachineRepresentation< pcoord_t, part_t >::machine_part_t

Definition at line 29 of file Zoltan2_MachineRepresentation.hpp.

template<typename pcoord_t, typename part_t>
typedef MachineForTesting<pcoord_t, part_t> Zoltan2::MachineRepresentation< pcoord_t, part_t >::machine_t

Definition at line 68 of file Zoltan2_MachineRepresentation.hpp.

Constructor & Destructor Documentation

template<typename pcoord_t, typename part_t>
Zoltan2::MachineRepresentation< pcoord_t, part_t >::MachineRepresentation ( const Teuchos::Comm< int > &  comm)
inline

Constructor MachineRepresentation Class.

Parameters
comm_Communication object.

Definition at line 77 of file Zoltan2_MachineRepresentation.hpp.

template<typename pcoord_t, typename part_t>
Zoltan2::MachineRepresentation< pcoord_t, part_t >::MachineRepresentation ( const Teuchos::Comm< int > &  comm,
const Teuchos::ParameterList &  pl 
)
inline

Definition at line 81 of file Zoltan2_MachineRepresentation.hpp.

template<typename pcoord_t, typename part_t>
Zoltan2::MachineRepresentation< pcoord_t, part_t >::~MachineRepresentation ( )
inline

Definition at line 86 of file Zoltan2_MachineRepresentation.hpp.

Member Function Documentation

template<typename pcoord_t, typename part_t>
bool Zoltan2::MachineRepresentation< pcoord_t, part_t >::hasMachineCoordinates ( ) const
inline

indicates whether or not the machine has coordinates

Definition at line 93 of file Zoltan2_MachineRepresentation.hpp.

template<typename pcoord_t, typename part_t>
int Zoltan2::MachineRepresentation< pcoord_t, part_t >::getMachineDim ( ) const
inline

returns the dimension (number of coords per node) in the machine

Definition at line 100 of file Zoltan2_MachineRepresentation.hpp.

template<typename pcoord_t, typename part_t>
bool Zoltan2::MachineRepresentation< pcoord_t, part_t >::getMachineExtent ( int *  nxyz) const
inline

sets the number of unique coordinates in each machine dimension

return true if coordinates are available

Definition at line 107 of file Zoltan2_MachineRepresentation.hpp.

template<typename pcoord_t, typename part_t>
bool Zoltan2::MachineRepresentation< pcoord_t, part_t >::getMachineExtentWrapArounds ( bool *  wrap_around) const
inline

if the machine has a wrap-around tourus link in each dimension.

return true if the information is available

Definition at line 116 of file Zoltan2_MachineRepresentation.hpp.

template<typename pcoord_t, typename part_t>
bool Zoltan2::MachineRepresentation< pcoord_t, part_t >::getMyMachineCoordinate ( pcoord_t *  xyz) const
inline

getMyCoordinate function set the machine coordinate xyz of the current process return true if current process' coordinates are available

Definition at line 124 of file Zoltan2_MachineRepresentation.hpp.

template<typename pcoord_t, typename part_t>
bool Zoltan2::MachineRepresentation< pcoord_t, part_t >::getMachineCoordinate ( const int  rank,
pcoord_t *  xyz 
) const
inline

getCoordinate function set the machine coordinate xyz of any rank process return true if coordinates are available by rank

Definition at line 132 of file Zoltan2_MachineRepresentation.hpp.

template<typename pcoord_t, typename part_t>
bool Zoltan2::MachineRepresentation< pcoord_t, part_t >::getMachineCoordinate ( const char *  nodename,
pcoord_t *  xyz 
) const
inline

getCoordinate function set the machine coordinate xyz of any node by nodename return true if coordinates are available by nodename

Definition at line 141 of file Zoltan2_MachineRepresentation.hpp.

template<typename pcoord_t, typename part_t>
bool Zoltan2::MachineRepresentation< pcoord_t, part_t >::getAllMachineCoordinatesView ( pcoord_t **&  allCoords) const
inline

getProcDim function set the coordinates of all ranks allCoords[i][j], i=0,...,getMachineDim(), j=0,...,getNumRanks(), is the i-th dimensional coordinate for rank j. return true if coordinates are available for all ranks

Definition at line 152 of file Zoltan2_MachineRepresentation.hpp.

template<typename pcoord_t, typename part_t>
int Zoltan2::MachineRepresentation< pcoord_t, part_t >::getNumRanks ( ) const
inline

return the number of ranks.

Definition at line 158 of file Zoltan2_MachineRepresentation.hpp.

template<typename pcoord_t, typename part_t>
bool Zoltan2::MachineRepresentation< pcoord_t, part_t >::getHopCount ( int  rank1,
int  rank2,
pcoord_t &  hops 
) const
inline

return the hop count between rank1 and rank2

Definition at line 162 of file Zoltan2_MachineRepresentation.hpp.

template<typename pcoord_t, typename part_t>
part_t Zoltan2::MachineRepresentation< pcoord_t, part_t >::getNumUniqueGroups ( ) const
inline

getNumUniqueGroups function return the number of unique Dragonfly network groups in provided allocation.

Equals the length of group_count member data (see accessor right below), if available

Definition at line 173 of file Zoltan2_MachineRepresentation.hpp.

template<typename pcoord_t, typename part_t>
bool Zoltan2::MachineRepresentation< pcoord_t, part_t >::getGroupCount ( part_t grp_count) const
inline

return the number of ranks in each group (RCA X-dim, e.g. first dim)

Ex, 4 ranks with coord (3, 1, 1) and 8 ranks with coord (5, 2, 4), will produce grp_count = [0, 0, 0, 4, 0, 8, 0, ...] which is trimmed and returned as grp_count = [4, 8]

(Currently only for Zoltan2_MachineDragonflyRCA, and used for MultiJagged's first cut in "algorithms/partition/Zoltan2_TaskMapper.hpp" thru "problems/Zoltan2_MappingProblem.hpp".

Definition at line 191 of file Zoltan2_MachineRepresentation.hpp.

template<typename pcoord_t, typename part_t>
static void Zoltan2::MachineRepresentation< pcoord_t, part_t >::getValidParameters ( Teuchos::ParameterList &  pl)
inlinestatic

Set up validators specific to this Problem.

Definition at line 197 of file Zoltan2_MachineRepresentation.hpp.


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