46 #ifndef MUELU_AGGREGATIONPHASE1ALGORITHM_KOKKOS_DECL_HPP
47 #define MUELU_AGGREGATIONPHASE1ALGORITHM_KOKKOS_DECL_HPP
50 #ifdef HAVE_MUELU_KOKKOS_REFACTOR
52 #include <KokkosCompat_ClassicNodeAPI_Wrapper.hpp>
59 #include "MueLu_LWGraph_kokkos.hpp"
89 class AggregationPhase1Algorithm_kokkos :
90 public MueLu::AggregationAlgorithmBase_kokkos<LocalOrdinal,GlobalOrdinal,Node> {
91 #undef MUELU_AGGREGATIONPHASE1ALGORITHM_KOKKOS_SHORT
95 using execution_space =
typename LWGraph_kokkos::execution_space;
96 using memory_space =
typename LWGraph_kokkos::memory_space;
102 AggregationPhase1Algorithm_kokkos(
const RCP<const FactoryBase>& = Teuchos::null) { }
105 virtual ~AggregationPhase1Algorithm_kokkos() { }
116 const LWGraph_kokkos& graph,
117 Aggregates_kokkos& aggregates,
119 LO& numNonAggregatedNodes)
const;
121 void BuildAggregatesRandom(
const LO maxAggSize,
122 const LWGraph_kokkos& graph,
123 Aggregates_kokkos& aggregates,
125 LO& numNonAggregatedNodes)
const;
127 void BuildAggregatesDeterministic(
const LO maxAggSize,
128 const LWGraph_kokkos& graph,
129 Aggregates_kokkos& aggregates,
131 LO& numNonAggregatedNodes)
const;
134 std::string description()
const {
return "Phase 1 (main)"; }
140 #define MUELU_AGGREGATIONPHASE1ALGORITHM_KOKKOS_SHORT
141 #endif // HAVE_MUELU_KOKKOS_REFACTOR
142 #endif // MUELU_AGGREGATIONPHASE1ALGORITHM_KOKKOS_DECL_HPP
MueLu::DefaultLocalOrdinal LocalOrdinal
KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
MueLu::DefaultGlobalOrdinal GlobalOrdinal