46 #ifndef MUELU_NULLSPACEFACTORY_KOKKOS_DECL_HPP
47 #define MUELU_NULLSPACEFACTORY_KOKKOS_DECL_HPP
50 #ifdef HAVE_MUELU_KOKKOS_REFACTOR
102 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
103 class NullspaceFactory_kokkos;
105 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class DeviceType>
106 class NullspaceFactory_kokkos<Scalar, LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode<DeviceType> > :
public SingleLevelFactoryBase {
108 typedef LocalOrdinal local_ordinal_type;
109 typedef GlobalOrdinal global_ordinal_type;
110 typedef typename DeviceType::execution_space execution_space;
112 typedef Kokkos::Compat::KokkosDeviceWrapperNode<DeviceType> node_type;
116 typedef node_type Node;
117 #undef MUELU_NULLSPACEFACTORY_KOKKOS_SHORT
126 NullspaceFactory_kokkos(
const std::string& nspName =
"Nullspace") {
127 SetParameter(
"Fine level nullspace", ParameterEntry(nspName));
131 virtual ~NullspaceFactory_kokkos() { }
140 RCP<const ParameterList> GetValidParameterList()
const;
148 void DeclareInput(Level& currentLevel)
const;
156 void Build(Level& currentLevel)
const;
164 #define MUELU_NULLSPACEFACTORY_KOKKOS_SHORT
165 #endif // HAVE_MUELU_KOKKOS_REFACTOR
166 #endif // MUELU_NULLSPACEFACTORY_KOKKOS_DECL_HPP