1 #ifndef _ZOLTAN2_MACHINEREPRESENTATION_HPP_ 2 #define _ZOLTAN2_MACHINEREPRESENTATION_HPP_ 4 #include <Teuchos_Comm.hpp> 16 template <
typename pcoord_t,
typename part_t>
21 #if defined(HAVE_ZOLTAN2_LDMS) 22 typedef MachineLDMS<pcoord_t,part_t>
machine_t;
23 #elif defined(HAVE_ZOLTAN2_RCA) 24 typedef MachineRCA<pcoord_t,part_t>
machine_t;
25 #elif defined(HAVE_ZOLTAN2_TOPOMANAGER) 27 #elif defined(HAVE_ZOLTAN2_BGQTEST) 86 pcoord_t *xyz)
const {
95 pcoord_t *xyz)
const {
114 inline bool getHopCount(
int rank1,
int rank2, pcoord_t &hops)
const {
A Machine Class for testing only A more realistic machine should be used for task mapping...
bool getHopCount(int rank1, int rank2, pcoord_t &hops) const
bool getMachineCoordinate(const int rank, pcoord_t *xyz) const
getCoordinate function set the machine coordinate xyz of any rank process return true if coordinates ...
MachineRepresentation(const Teuchos::Comm< int > &comm, const Teuchos::ParameterList &pl)
int getMachineDim() const
MachineRepresentation(const Teuchos::Comm< int > &comm)
Constructor MachineRepresentation Class.
bool getMyMachineCoordinate(pcoord_t *xyz) const
getMyCoordinate function set the machine coordinate xyz of the current process return true if current...
bool hasMachineCoordinates() const
bool getMachineExtent(int *nxyz) const
virtual bool getHopCount(int rank1, int rank2, pcoord_t &hops)
bool getMachineExtentWrapArounds(bool *wrap_around) const
if the machine has a wrap-around tourus link in each dimension. return true if the information is ava...
int getMachineDim() const
returns the dimension (number of coords per node) in the machine
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
A Machine Class for testing only A more realistic machine should be used for task mapping...
MachineRepresentation Class Base class for representing machine coordinates, networks, etc.
MachineForTesting< pcoord_t, part_t > machine_t
bool getMachineCoordinate(const int rank, pcoord_t *xyz)
bool getMachineExtent(int *nxyz) const
sets the number of unique coordinates in each machine dimension return true if coordinates are availa...
int getNumRanks() const
return the number of ranks.
int getNumRanks() const
return the number of ranks.
A Machine Class for testing only A more realistic machine should be used for task mapping...
bool getMachineExtentWrapArounds(bool *wrap_around) const
if the machine has a wrap-around tourus link in each dimension. return true if the information is ava...
bool getMyMachineCoordinate(pcoord_t *xyz)
bool getMachineCoordinate(const char *nodename, pcoord_t *xyz) const
getCoordinate function set the machine coordinate xyz of any node by nodename return true if coordina...
bool hasMachineCoordinates() const
indicates whether or not the machine has coordinates
bool getAllMachineCoordinatesView(pcoord_t **&allCoords) const