Zoltan2
|
MachineClass Base class for representing machine coordinates, networks, etc. More...
#include <Zoltan2_Machine.hpp>
Public Member Functions | |
Machine (const Teuchos::Comm< int > &comm) | |
Constructor MachineRepresentation Class. More... | |
virtual | ~Machine () |
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 return true if coordinates are available More... | |
bool | getMachineExtentWrapArounds (bool *wrap_around) const |
if the machine has a wrap-around tourus link in each dimension. return true if the information is available 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 |
getNumRanks function return the number of ranks. More... | |
virtual bool | getHopCount (int rank1, int rank2, pcoord_t &hops) |
getHopCount function set hops between rank1 and rank2 return true if coordinates are available More... | |
virtual part_t | getNumUniqueGroups () const |
getNumUniqueGroups function return the number of unique Dragonfly network groups in provided allocation. More... | |
virtual bool | getGroupCount (part_t *grp_count) const |
getGroupCount function return the number of ranks in each group (RCA X-dim, e.g. first dim) More... | |
Protected Attributes | |
int | numRanks |
int | myRank |
MachineClass Base class for representing machine coordinates, networks, etc.
Definition at line 12 of file Zoltan2_Machine.hpp.
|
inline |
Constructor MachineRepresentation Class.
comm_ | Communication object. |
Definition at line 23 of file Zoltan2_Machine.hpp.
|
inlinevirtual |
Definition at line 27 of file Zoltan2_Machine.hpp.
|
inline |
indicates whether or not the machine has coordinates
Definition at line 31 of file Zoltan2_Machine.hpp.
|
inline |
returns the dimension (number of coords per node) in the machine
Definition at line 37 of file Zoltan2_Machine.hpp.
|
inline |
sets the number of unique coordinates in each machine dimension return true if coordinates are available
Definition at line 44 of file Zoltan2_Machine.hpp.
|
inline |
if the machine has a wrap-around tourus link in each dimension. return true if the information is available
Definition at line 51 of file Zoltan2_Machine.hpp.
|
inline |
getMyCoordinate function set the machine coordinate xyz of the current process return true if current process' coordinates are available
Definition at line 59 of file Zoltan2_Machine.hpp.
|
inline |
getCoordinate function set the machine coordinate xyz of any rank process return true if coordinates are available by rank
Definition at line 67 of file Zoltan2_Machine.hpp.
|
inline |
getCoordinate function set the machine coordinate xyz of any node by nodename return true if coordinates are available by nodename
Definition at line 75 of file Zoltan2_Machine.hpp.
|
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 85 of file Zoltan2_Machine.hpp.
|
inline |
getNumRanks function return the number of ranks.
Definition at line 92 of file Zoltan2_Machine.hpp.
|
inlinevirtual |
getHopCount function set hops between rank1 and rank2 return true if coordinates are available
Reimplemented in Zoltan2::MachineDragonflyRCA< pcoord_t, part_t >, Zoltan2::MachineDragonflyRCAForTesting< pcoord_t, part_t >, Zoltan2::MachineTorusRCAForTesting< pcoord_t, part_t >, Zoltan2::MachineTorusRCA< pcoord_t, part_t >, Zoltan2::MachineTorusBGQTest< pcoord_t, part_t >, and Zoltan2::MachineTorusTopoMgr< pcoord_t, part_t >.
Definition at line 98 of file Zoltan2_Machine.hpp.
|
inlinevirtual |
getNumUniqueGroups function return the number of unique Dragonfly network groups in provided allocation.
Equals the length of group_count member data, if available, otherwise we consider the whole allocation to be one group.
Reimplemented in Zoltan2::MachineDragonflyRCA< pcoord_t, part_t >, and Zoltan2::MachineDragonflyRCAForTesting< pcoord_t, part_t >.
Definition at line 109 of file Zoltan2_Machine.hpp.
|
inlinevirtual |
getGroupCount function 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". return true if group_count is available
Definition at line 128 of file Zoltan2_Machine.hpp.
|
protected |
Definition at line 15 of file Zoltan2_Machine.hpp.
|
protected |
Definition at line 16 of file Zoltan2_Machine.hpp.