10#ifndef MUELU_AGGREGATIONALGORITHMBASE_HPP_
11#define MUELU_AGGREGATIONALGORITHMBASE_HPP_
17#include "MueLu_LWGraph.hpp"
18#include "MueLu_LWGraph_kokkos.hpp"
33#undef MUELU_AGGREGATIONALGORITHMBASE_SHORT
37 using AggStatHostType = Kokkos::View<unsigned*, typename LWGraphHostType::device_type>;
40 using AggStatType = Kokkos::View<unsigned*, typename LWGraphType::device_type>;
58 virtual void SetupPhase(
const ParameterList& params, Teuchos::RCP<
const Teuchos::Comm<int>>& comm, LO& numLocalNodes, LO& numNonAggregatedNodes){};
65 LO& numNonAggregatedNodes)
const = 0;
72 LO& numNonAggregatedNodes)
const = 0;
78#define MUELU_AGGREGATIONALGORITHMBASE_SHORT
MueLu::DefaultLocalOrdinal LocalOrdinal
MueLu::DefaultGlobalOrdinal GlobalOrdinal
Container class for aggregation information.
Pure virtual base class for all MueLu aggregation algorithms.
Kokkos::View< unsigned *, typename LWGraphHostType::device_type > AggStatHostType
virtual void BuildAggregates(const Teuchos::ParameterList ¶ms, const LWGraphType &graph, Aggregates &aggregates, AggStatType &aggStat, LO &numNonAggregatedNodes) const =0
BuildAggregates routine.
virtual void SetupPhase(const ParameterList ¶ms, Teuchos::RCP< const Teuchos::Comm< int > > &comm, LO &numLocalNodes, LO &numNonAggregatedNodes)
virtual void BuildAggregatesNonKokkos(const Teuchos::ParameterList ¶ms, const LWGraphHostType &graph, Aggregates &aggregates, AggStatHostType &aggStat, LO &numNonAggregatedNodes) const =0
BuildAggregatesNonKokkos routine.
virtual ~AggregationAlgorithmBase()
Destructor.
Kokkos::View< unsigned *, typename LWGraphType::device_type > AggStatType
Base class for MueLu classes.
Lightweight MueLu representation of a compressed row storage graph.
Lightweight MueLu representation of a compressed row storage graph.
Namespace for MueLu classes and methods.
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode