46 #ifndef MUELU_TENTATIVEPFACTORY_KOKKOS_DECL_HPP 47 #define MUELU_TENTATIVEPFACTORY_KOKKOS_DECL_HPP 50 #ifdef HAVE_MUELU_KOKKOS_REFACTOR 54 #include <KokkosCompat_ClassicNodeAPI_Wrapper.hpp> 61 #include "MueLu_PFactory.hpp" 104 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
105 class TentativePFactory_kokkos;
107 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class DeviceType>
108 class TentativePFactory_kokkos<Scalar, LocalOrdinal, GlobalOrdinal,
Kokkos::Compat::KokkosDeviceWrapperNode<DeviceType> > :
public PFactory {
111 typedef GlobalOrdinal global_ordinal_type;
112 typedef typename DeviceType::execution_space execution_space;
113 typedef Kokkos::Compat::KokkosDeviceWrapperNode<DeviceType>
node_type;
118 #undef MUELU_TENTATIVEPFACTORY_KOKKOS_SHORT 126 TentativePFactory_kokkos() { }
129 virtual ~TentativePFactory_kokkos() { }
132 RCP<const ParameterList> GetValidParameterList()
const;
137 void DeclareInput(Level& fineLevel, Level& coarseLevel)
const;
144 void Build (Level& fineLevel, Level& coarseLevel)
const;
145 void BuildP(Level& fineLevel, Level& coarseLevel)
const;
157 void BuildPuncoupled(RCP<Matrix> A, RCP<Aggregates_kokkos> aggregates, RCP<AmalgamationInfo> amalgInfo, RCP<MultiVector> fineNullspace,
158 RCP<const Map> coarseMap, RCP<Matrix>& Ptentative, RCP<MultiVector>& coarseNullspace)
const;
162 void BuildPcoupled (RCP<Matrix> A, RCP<Aggregates_kokkos> aggregates, RCP<AmalgamationInfo> amalgInfo, RCP<MultiVector> fineNullspace,
163 RCP<const Map> coarseMap, RCP<Matrix>& Ptentative, RCP<MultiVector>& coarseNullspace)
const;
164 bool isGoodMap(
const Map& rowMap,
const Map& colMap)
const;
170 #define MUELU_TENTATIVEPFACTORY_KOKKOS_SHORT 171 #endif // HAVE_MUELU_KOKKOS_REFACTOR 172 #endif // MUELU_TENTATIVEPFACTORY_KOKKOS_DECL_HPP
KokkosClassic::DefaultNode::DefaultNodeType node_type
Namespace for MueLu classes and methods.