Zoltan2
|
Metric class and namespace methods to compute quality metrics. More...
#include <Zoltan2_StridedData.hpp>
#include <Zoltan2_PartitioningSolution.hpp>
#include <Tpetra_Map.hpp>
#include <Tpetra_CrsMatrix.hpp>
#include <Zoltan2_GraphModel.hpp>
#include <cmath>
#include <iomanip>
#include <iostream>
#include <vector>
Go to the source code of this file.
Classes | |
class | Zoltan2::MetricValues< scalar_t > |
A class containing the metrics for one measurable item. More... | |
class | Zoltan2::GraphMetricValues< scalar_t > |
A class containing the metrics for one measurable item. More... | |
Namespaces | |
Zoltan2 | |
Functions | |
template<typename scalar_t > | |
void | Zoltan2::getStridedStats (const ArrayView< scalar_t > &v, int stride, int offset, scalar_t &min, scalar_t &max, scalar_t &sum) |
Find min, max and sum of metric values. More... | |
template<typename scalar_t > | |
void | Zoltan2::getStridedStats (const ArrayView< scalar_t > &v, int stride, int offset, scalar_t &max, scalar_t &sum) |
Find max and sum of graph metric values. More... | |
template<typename scalar_t , typename lno_t , typename part_t > | |
void | Zoltan2::normedPartWeights (const RCP< const Environment > &env, part_t numberOfParts, const ArrayView< const part_t > &parts, const ArrayView< StridedData< lno_t, scalar_t > > &vwgts, multiCriteriaNorm mcNorm, scalar_t *weights) |
Compute the total weight in each part on this process. More... | |
template<typename scalar_t , typename lno_t , typename part_t > | |
void | Zoltan2::globalSumsByPart (const RCP< const Environment > &env, const RCP< const Comm< int > > &comm, const ArrayView< const part_t > &part, int vwgtDim, const ArrayView< StridedData< lno_t, scalar_t > > &vwgts, multiCriteriaNorm mcNorm, part_t &numParts, part_t &numNonemptyParts, ArrayRCP< MetricValues< scalar_t > > &metrics, ArrayRCP< scalar_t > &globalSums) |
Given the local partitioning, compute the global sums in each part. More... | |
template<typename Adapter > | |
void | Zoltan2::globalWeightedCutsByPart (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 > &part, typename Adapter::part_t &numParts, ArrayRCP< GraphMetricValues< typename Adapter::scalar_t > > &metrics, ArrayRCP< typename Adapter::scalar_t > &globalSums) |
Given the local partitioning, compute the global weighted cuts in each part. More... | |
template<typename scalar_t , typename part_t > | |
void | Zoltan2::computeImbalances (part_t numParts, part_t targetNumParts, const scalar_t *psizes, scalar_t sumVals, const scalar_t *vals, scalar_t &min, scalar_t &max, scalar_t &avg) |
Compute the imbalance. More... | |
template<typename scalar_t , typename part_t > | |
void | Zoltan2::computeImbalances (part_t numParts, part_t targetNumParts, int numSizes, ArrayView< ArrayRCP< scalar_t > > psizes, scalar_t sumVals, const scalar_t *vals, scalar_t &min, scalar_t &max, scalar_t &avg) |
Compute the imbalance in the case of multiple part sizes. More... | |
template<typename Adapter > | |
void | Zoltan2::objectMetrics (const RCP< const Environment > &env, const RCP< const Comm< int > > &comm, multiCriteriaNorm mcNorm, const RCP< const typename Adapter::base_adapter_t > &ia, const RCP< const PartitioningSolution< Adapter > > &solution, bool useDegreeAsWeight, const RCP< const GraphModel< typename Adapter::base_adapter_t > > &graphModel, typename Adapter::part_t &numParts, typename Adapter::part_t &numNonemptyParts, ArrayRCP< MetricValues< typename Adapter::scalar_t > > &metrics) |
Compute imbalance metrics for a distribution. More... | |
template<typename scalar_t , typename part_t > | |
void | Zoltan2::printMetrics (std::ostream &os, part_t targetNumParts, part_t numParts, part_t numNonemptyParts, const ArrayView< MetricValues< scalar_t > > &infoList) |
Print out a header and the values for a list of metrics. More... | |
template<typename scalar_t , typename part_t > | |
void | Zoltan2::printMetrics (std::ostream &os, part_t targetNumParts, part_t numParts, const ArrayView< GraphMetricValues< scalar_t > > &infoList) |
Print out a header and the values for a list of graph metrics. More... | |
template<typename scalar_t , typename part_t > | |
void | Zoltan2::printMetrics (std::ostream &os, part_t targetNumParts, part_t numParts, part_t numNonemptyParts, const MetricValues< scalar_t > &info) |
Print out a header and the values for a single metric. More... | |
template<typename scalar_t , typename part_t > | |
void | Zoltan2::printMetrics (std::ostream &os, part_t targetNumParts, part_t numParts, const GraphMetricValues< scalar_t > &info) |
Print out a header and the values for a single metric. More... | |
template<typename scalar_t > | |
scalar_t | Zoltan2::normedWeight (ArrayView< scalar_t > weights, multiCriteriaNorm norm) |
Compute the norm of the vector of weights. More... | |
template<typename lno_t , typename scalar_t > | |
scalar_t | Zoltan2::normedWeight (ArrayView< StridedData< lno_t, scalar_t > > weights, lno_t idx, multiCriteriaNorm norm) |
Compute the norm of the vector of weights stored as StridedData. More... | |
Metric class and namespace methods to compute quality metrics.
Definition in file Zoltan2_Metric.hpp.