Zoltan2
Loading...
Searching...
No Matches
Public Member Functions | List of all members
Zoltan2::MachineDragonflyRCAForTesting< pcoord_t, part_t > Class Template Reference

A Dragonfly (e.g. Cori, Trinity, Theta) Machine Class for testing only. A more realistic machine should be used for task mapping (i.e. see Zoltan2_MachineDragonflyRCA.hpp). More...

#include <Zoltan2_MachineDragonflyRCAForTesting.hpp>

Inheritance diagram for Zoltan2::MachineDragonflyRCAForTesting< pcoord_t, part_t >:
Inheritance graph
[legend]
Collaboration diagram for Zoltan2::MachineDragonflyRCAForTesting< pcoord_t, part_t >:
Collaboration graph
[legend]

Public Member Functions

 MachineDragonflyRCAForTesting (const Teuchos::Comm< int > &comm)
 Constructor: Dragonfly (e.g. Cori & Trinity) RCA network machine description;.
 
virtual bool getMachineExtentWrapArounds (bool *wrap_around) const
 
 MachineDragonflyRCAForTesting (const Teuchos::Comm< int > &comm, const Teuchos::ParameterList &pl_)
 Constructor: Dragonfly (e.g. Cori & Trinity) network machine description;.
 
virtual ~MachineDragonflyRCAForTesting ()
 
bool hasMachineCoordinates () const
 
int getMachineDim () const
 
bool getTransformedMachineExtent (int *nxyz) const
 
bool getActualMachineExtent (int *nxyz) const
 
bool getMachineExtent (int *nxyz) const
 
part_t getNumUniqueGroups () const override
 getNumUniqueGroups function return the number of unique Dragonfly network groups in provided allocation.
 
bool getGroupCount (part_t *grp_count) const override
 getGroupCount function return the number of ranks in each group (RCA X-dim, e.g. first dim)
 
void printAllocation ()
 
bool getMyTransformedMachineCoordinate (pcoord_t *xyz)
 
bool getMyActualMachineCoordinate (pcoord_t *xyz)
 
bool getMyMachineCoordinate (pcoord_t *xyz)
 
bool getMachineCoordinate (const int rank, pcoord_t *xyz) const
 
bool getMachineCoordinate (const char *nodename, pcoord_t *xyz)
 
bool getAllMachineCoordinatesView (pcoord_t **&allCoords) const
 
virtual bool getHopCount (int rank1, int rank2, pcoord_t &hops) const override
 getHopCount function set hops between rank1 and rank2 return true if coordinates are available
 
- Public Member Functions inherited from Zoltan2::Machine< pcoord_t, part_t >
 Machine (const Teuchos::Comm< int > &comm)
 Constructor MachineRepresentation Class.
 
virtual ~Machine ()
 
bool hasMachineCoordinates () const
 indicates whether or not the machine has coordinates
 
int getMachineDim () const
 returns the dimension (number of coords per node) in the machine
 
bool getMachineExtent (int *nxyz) const
 sets the number of unique coordinates in each machine dimension return true if coordinates are available
 
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
 
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
 
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
 
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
 
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
 
int getNumRanks () const
 getNumRanks function return the number of ranks.
 
virtual bool getHopCount (int rank1, int rank2, pcoord_t &hops) const
 getHopCount function set hops between rank1 and rank2 return true if coordinates are available
 
virtual part_t getNumUniqueGroups () const
 getNumUniqueGroups function return the number of unique Dragonfly network groups in provided allocation.
 
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)
 

Additional Inherited Members

- Protected Attributes inherited from Zoltan2::Machine< pcoord_t, part_t >
int numRanks
 
int myRank
 

Detailed Description

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

A Dragonfly (e.g. Cori, Trinity, Theta) Machine Class for testing only. A more realistic machine should be used for task mapping (i.e. see Zoltan2_MachineDragonflyRCA.hpp).

Does NOT require RCA library to run.

Definition at line 22 of file Zoltan2_MachineDragonflyRCAForTesting.hpp.

Constructor & Destructor Documentation

◆ MachineDragonflyRCAForTesting() [1/2]

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

Constructor: Dragonfly (e.g. Cori & Trinity) RCA network machine description;.

Does not do coord transformation.

Parameters
commCommunication object.

Definition at line 33 of file Zoltan2_MachineDragonflyRCAForTesting.hpp.

◆ MachineDragonflyRCAForTesting() [2/2]

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

Constructor: Dragonfly (e.g. Cori & Trinity) network machine description;.

Does coord transformation if parameter list has a "Machine Optimization Level > 0" parameter set.

Parameters
commCommunication object.
plParameter List

Definition at line 130 of file Zoltan2_MachineDragonflyRCAForTesting.hpp.

◆ ~MachineDragonflyRCAForTesting()

template<typename pcoord_t , typename part_t >
virtual Zoltan2::MachineDragonflyRCAForTesting< pcoord_t, part_t >::~MachineDragonflyRCAForTesting ( )
inlinevirtual

Definition at line 304 of file Zoltan2_MachineDragonflyRCAForTesting.hpp.

Member Function Documentation

◆ getMachineExtentWrapArounds()

template<typename pcoord_t , typename part_t >
virtual bool Zoltan2::MachineDragonflyRCAForTesting< pcoord_t, part_t >::getMachineExtentWrapArounds ( bool *  wrap_around) const
inlinevirtual

Definition at line 116 of file Zoltan2_MachineDragonflyRCAForTesting.hpp.

◆ hasMachineCoordinates()

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

Definition at line 329 of file Zoltan2_MachineDragonflyRCAForTesting.hpp.

◆ getMachineDim()

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

Definition at line 332 of file Zoltan2_MachineDragonflyRCAForTesting.hpp.

◆ getTransformedMachineExtent()

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

Definition at line 340 of file Zoltan2_MachineDragonflyRCAForTesting.hpp.

◆ getActualMachineExtent()

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

Definition at line 352 of file Zoltan2_MachineDragonflyRCAForTesting.hpp.

◆ getMachineExtent()

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

Definition at line 381 of file Zoltan2_MachineDragonflyRCAForTesting.hpp.

◆ getNumUniqueGroups()

template<typename pcoord_t , typename part_t >
part_t Zoltan2::MachineDragonflyRCAForTesting< pcoord_t, part_t >::getNumUniqueGroups ( ) const
inlineoverridevirtual

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 from Zoltan2::Machine< pcoord_t, part_t >.

Definition at line 391 of file Zoltan2_MachineDragonflyRCAForTesting.hpp.

◆ getGroupCount()

template<typename pcoord_t , typename part_t >
bool Zoltan2::MachineDragonflyRCAForTesting< pcoord_t, part_t >::getGroupCount ( part_t grp_count) const
inlineoverridevirtual

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

Reimplemented from Zoltan2::Machine< pcoord_t, part_t >.

Definition at line 396 of file Zoltan2_MachineDragonflyRCAForTesting.hpp.

◆ printAllocation()

template<typename pcoord_t , typename part_t >
void Zoltan2::MachineDragonflyRCAForTesting< pcoord_t, part_t >::printAllocation ( )
inline

Definition at line 410 of file Zoltan2_MachineDragonflyRCAForTesting.hpp.

◆ getMyTransformedMachineCoordinate()

template<typename pcoord_t , typename part_t >
bool Zoltan2::MachineDragonflyRCAForTesting< pcoord_t, part_t >::getMyTransformedMachineCoordinate ( pcoord_t *  xyz)
inline

Definition at line 448 of file Zoltan2_MachineDragonflyRCAForTesting.hpp.

◆ getMyActualMachineCoordinate()

template<typename pcoord_t , typename part_t >
bool Zoltan2::MachineDragonflyRCAForTesting< pcoord_t, part_t >::getMyActualMachineCoordinate ( pcoord_t *  xyz)
inline

Definition at line 461 of file Zoltan2_MachineDragonflyRCAForTesting.hpp.

◆ getMyMachineCoordinate()

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

Definition at line 505 of file Zoltan2_MachineDragonflyRCAForTesting.hpp.

◆ getMachineCoordinate() [1/2]

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

Definition at line 515 of file Zoltan2_MachineDragonflyRCAForTesting.hpp.

◆ getMachineCoordinate() [2/2]

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

Definition at line 531 of file Zoltan2_MachineDragonflyRCAForTesting.hpp.

◆ getAllMachineCoordinatesView()

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

Definition at line 536 of file Zoltan2_MachineDragonflyRCAForTesting.hpp.

◆ getHopCount()

template<typename pcoord_t , typename part_t >
virtual bool Zoltan2::MachineDragonflyRCAForTesting< pcoord_t, part_t >::getHopCount ( int  rank1,
int  rank2,
pcoord_t &  hops 
) const
inlineoverridevirtual

getHopCount function set hops between rank1 and rank2 return true if coordinates are available

Reimplemented from Zoltan2::Machine< pcoord_t, part_t >.

Definition at line 549 of file Zoltan2_MachineDragonflyRCAForTesting.hpp.


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