14#ifndef ZOLTAN2_EVALUATEMAPPING_HPP
15#define ZOLTAN2_EVALUATEMAPPING_HPP
30template<
typename Adapter,
33 typename Adapter::part_t> >
37 const RCP <const MachineRep> machine;
51 const RCP<
const Comm<int> > &ucomm_,
53 const MachineRep *machine_ ,
56 machine(
Teuchos::rcp(machine_, false)){
64 const RCP<const Environment> &_env,
65 const RCP<
const Comm<int> > &_problemComm,
67 const ArrayView<const typename Adapter::part_t> &_partArray,
68 typename Adapter::part_t &_numGlobalParts,
70 ArrayRCP<typename Adapter::scalar_t> &_globalSums) {
72 _problemComm, _graph, _partArray, _numGlobalParts, _metricsBase,
73 _globalSums,
true, this->machine);
Defines the EvaluatePartition class.
Defines the MappingSolution class.
EvaluateMapping(const Adapter *ia, ParameterList *p, const RCP< const Comm< int > > &ucomm_, const MappingSolution< Adapter > *soln, const MachineRep *machine_, const RCP< const GraphModel< typename Adapter::base_adapter_t > > &graphModel=Teuchos::null)
Constructor where communicator is Teuchos default.
virtual void calculate_graph_metrics(const RCP< const Environment > &_env, const RCP< const Comm< int > > &_problemComm, const RCP< const GraphModel< typename Adapter::base_adapter_t > > &_graph, const ArrayView< const typename Adapter::part_t > &_partArray, typename Adapter::part_t &_numGlobalParts, ArrayRCP< RCP< BaseClassMetrics< typename Adapter::scalar_t > > > &_metricsBase, ArrayRCP< typename Adapter::scalar_t > &_globalSums)
virtual ~EvaluateMapping()
EvaluatePartition(const Adapter *ia, ParameterList *p, const RCP< const Comm< int > > &problemComm, const PartitioningSolution< Adapter > *soln, bool force_evaluate, const RCP< const GraphModel< typename Adapter::base_adapter_t > > &graphModel=Teuchos::null)
Constructor where communicator is Teuchos default, and takes another parameter whether to evaluate me...
void sharedConstructor(const Adapter *ia, ParameterList *p, const RCP< const Comm< int > > &problemComm, const PartitioningSolution< Adapter > *soln, const RCP< const GraphModel< typename Adapter::base_adapter_t > > &graphModel)
GraphModel defines the interface required for graph models.
MachineRepresentation Class Base class for representing machine coordinates, networks,...
PartitionMapping maps a solution or an input distribution to ranks.
Created by mbenlioglu on Aug 31, 2020.
void globalWeightedByPart(const RCP< const Environment > &env, const RCP< const Comm< int > > &comm, const RCP< const GraphModel< typename Adapter::base_adapter_t > > &graph, const ArrayView< const typename Adapter::part_t > &parts, typename Adapter::part_t &numParts, ArrayRCP< RCP< BaseClassMetrics< typename Adapter::scalar_t > > > &metrics, ArrayRCP< typename Adapter::scalar_t > &globalSums, bool bMessages=true, const RCP< const MachineRep > machine=Teuchos::null)
Given the local partitioning, compute the global weighted cuts in each part.