46 #ifndef MUELU_FILTEREDAFACTORY_KOKKOS_DECL_HPP 47 #define MUELU_FILTEREDAFACTORY_KOKKOS_DECL_HPP 52 #ifdef HAVE_MUELU_KOKKOS_REFACTOR 57 #include "MueLu_LWGraph_kokkos.hpp" 66 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
67 class FilteredAFactory_kokkos;
69 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class DeviceType>
70 class FilteredAFactory_kokkos<Scalar, LocalOrdinal, GlobalOrdinal,
Kokkos::Compat::KokkosDeviceWrapperNode<DeviceType> > :
public SingleLevelFactoryBase {
72 typedef LocalOrdinal local_ordinal_type;
73 typedef GlobalOrdinal global_ordinal_type;
74 typedef typename DeviceType::execution_space execution_space;
75 typedef Kokkos::Compat::KokkosDeviceWrapperNode<DeviceType> node_type;
79 typedef node_type Node;
80 #undef MUELU_FILTEREDAFACTORY_KOKKOS_SHORT 88 FilteredAFactory_kokkos() { }
91 virtual ~FilteredAFactory_kokkos() { }
93 RCP<const ParameterList> GetValidParameterList()
const;
100 void DeclareInput(Level& currentLevel)
const;
112 void Build(Level& currentLevel)
const;
116 void BuildReuse(
const Matrix& A,
const LWGraph_kokkos& G,
const bool lumping, Matrix& filteredA)
const;
117 void BuildNew (
const Matrix& A,
const LWGraph_kokkos& G,
const bool lumping, Matrix& filteredA)
const;
123 #define MUELU_FILTEREDAFACTORY_KOKKOS_SHORT 124 #endif // HAVE_MUELU_KOKKOS_REFACTOR 125 #endif // MUELU_FILTEREDAFACTORY_KOKKOS_DECL_HPP
Namespace for MueLu classes and methods.