50 #ifndef _ZOLTAN2_ALGORITHM_HPP_ 51 #define _ZOLTAN2_ALGORITHM_HPP_ 54 template <
typename Adapter>
77 template <
typename Adapter>
82 typedef typename Adapter::lno_t
lno_t;
83 typedef typename Adapter::gno_t
gno_t;
139 part_t & numTreeVerts,
140 std::vector<part_t> & permPartNums,
141 std::vector<part_t> & splitRangeBeg,
142 std::vector<part_t> & splitRangeEnd,
143 std::vector<part_t> & treeVertParents)
const 153 virtual std::vector<coordinateModelPartBox<scalar_t, part_t> > &
186 virtual void boxAssign(
int dim, scalar_t *lower, scalar_t *upper,
187 size_t &
nParts, part_t **partsFound)
const 204 ArrayRCP<part_t> &comXAdj,
205 ArrayRCP<part_t> &comAdj)
virtual void getPartitionTree(part_t numParts, part_t &numTreeVerts, std::vector< part_t > &permPartNums, std::vector< part_t > &splitRangeBeg, std::vector< part_t > &splitRangeEnd, std::vector< part_t > &treeVertParents) const
for partitioning methods, fill arrays with partition tree info
virtual int localOrder(const RCP< LocalOrderingSolution< lno_t > > &solution)
Ordering method.
virtual void map(const RCP< MappingSolution< Adapter > > &solution)
Mapping method.
virtual std::vector< coordinateModelPartBox< scalar_t, part_t > > & getPartBoxesView() const
for partitioning methods, return bounding boxes of the
virtual void getCommunicationGraph(const PartitioningSolution< Adapter > *solution, ArrayRCP< part_t > &comXAdj, ArrayRCP< part_t > &comAdj)
returns serial communication graph of a computed partition
PartitionMapping maps a solution or an input distribution to ranks.
virtual part_t pointAssign(int dim, scalar_t *point) const
pointAssign method: Available only for some partitioning algorithms
Defines the OrderingSolution class.
#define Z2_THROW_NOT_IMPLEMENTED
virtual void partitionMatrix(const RCP< MatrixPartitioningSolution< Adapter > > &solution)
Matrix Partitioning method.
virtual int globalOrder(const RCP< GlobalOrderingSolution< gno_t > > &solution)
Ordering method.
Defines the PartitioningSolution class.
virtual void getMyPartsView(part_t &numParts, part_t *&parts)
In mapping, returns a view of parts assigned to the current rank.
SparseMatrixAdapter_t::part_t part_t
Adapter::scalar_t scalar_t
A PartitioningSolution is a solution to a partitioning problem.
virtual void match()
Matching method.
virtual int getRankForPart(part_t p)
In mapping, returns the rank to which a part is assigned.
Algorithm defines the base class for all algorithms.
virtual void partition(const RCP< PartitioningSolution< Adapter > > &solution)
Partitioning method.
Defines the MappingSolution class.
virtual void color(const RCP< ColoringSolution< Adapter > > &solution)
Coloring method.
virtual void boxAssign(int dim, scalar_t *lower, scalar_t *upper, size_t &nParts, part_t **partsFound) const
boxAssign method: Available only for some partitioning algorithms
Gathering definitions used in software development.
Defines the ColoringSolution class.
virtual bool isPartitioningTreeBinary() const
return if algorithm determins tree to be binary
A PartitioningSolution is a solution to a partitioning problem.
The class containing coloring solution.