46 #ifndef MUELU_SAPFACTORY_KOKKOS_DECL_HPP
47 #define MUELU_SAPFACTORY_KOKKOS_DECL_HPP
52 #ifdef HAVE_MUELU_KOKKOS_REFACTOR
54 #include <KokkosCompat_ClassicNodeAPI_Wrapper.hpp>
61 #include "MueLu_PFactory.hpp"
97 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
98 class SaPFactory_kokkos;
100 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class DeviceType>
101 class SaPFactory_kokkos<Scalar, LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode<DeviceType> > :
public PFactory {
103 typedef LocalOrdinal local_ordinal_type;
104 typedef GlobalOrdinal global_ordinal_type;
105 typedef typename DeviceType::execution_space execution_space;
106 typedef Kokkos::Compat::KokkosDeviceWrapperNode<DeviceType> node_type;
110 typedef node_type Node;
111 #undef MUELU_SAPFACTORY_KOKKOS_SHORT
122 SaPFactory_kokkos() { }
125 virtual ~SaPFactory_kokkos() { }
127 RCP<const ParameterList> GetValidParameterList()
const;
134 void DeclareInput(Level& fineLevel, Level& coarseLevel)
const;
147 void Build (Level& fineLevel, Level& coarseLevel)
const;
149 void BuildP(Level& fineLevel, Level& coarseLevel)
const;
157 #define MUELU_SAPFACTORY_KOKKOS_SHORT
158 #endif // HAVE_MUELU_KOKKOS_REFACTOR
159 #endif // MUELU_SAPFACTORY_KOKKOS_DECL_HPP