94#ifndef ZOLTAN2_EVALUATEMAPPING_HPP
95#define ZOLTAN2_EVALUATEMAPPING_HPP
110template<
typename Adapter,
111 typename MachineRep =
113 typename Adapter::part_t> >
117 const RCP <const MachineRep> machine;
131 const RCP<
const Comm<int> > &ucomm_,
133 const MachineRep *machine_ ,
136 machine(
Teuchos::rcp(machine_, false)){
144 const RCP<const Environment> &_env,
145 const RCP<
const Comm<int> > &_problemComm,
147 const ArrayView<const typename Adapter::part_t> &_partArray,
148 typename Adapter::part_t &_numGlobalParts,
150 ArrayRCP<typename Adapter::scalar_t> &_globalSums) {
152 _problemComm, _graph, _partArray, _numGlobalParts, _metricsBase,
153 _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.