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