50 #ifndef _ZOLTAN2_ALGORITHM_HPP_ 51 #define _ZOLTAN2_ALGORITHM_HPP_ 54 template <
typename Adapter>
76 template <
typename Adapter>
81 typedef typename Adapter::lno_t
lno_t;
82 typedef typename Adapter::gno_t
gno_t;
132 part_t & numTreeVerts,
133 std::vector<part_t> & permPartNums,
134 std::vector<part_t> & splitRangeBeg,
135 std::vector<part_t> & splitRangeEnd,
136 std::vector<part_t> & treeVertParents)
const 146 virtual std::vector<coordinateModelPartBox<scalar_t, part_t> > &
179 virtual void boxAssign(
int dim, scalar_t *lower, scalar_t *upper,
180 size_t &
nParts, part_t **partsFound)
const 197 ArrayRCP<part_t> &comXAdj,
198 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 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
The class containing coloring solution.