46 #ifndef MUELU_AGGREGATIONSTRUCTUREDALGORITHM_KOKKOS_DECL_HPP 
   47 #define MUELU_AGGREGATIONSTRUCTUREDALGORITHM_KOKKOS_DECL_HPP 
   55 #include "MueLu_LWGraph_kokkos.hpp" 
   76 #undef MUELU_AGGREGATIONSTRUCTUREDALGORITHM_KOKKOS_SHORT 
   82   using size_type              = 
typename local_graph_type::size_type;
 
   86   using memory_space           = 
typename local_graph_type::device_type::memory_space;
 
   88   using LOVectorView      = decltype(std::declval<LOVector>().getDeviceLocalView(Xpetra::Access::ReadWrite));
 
  111                        Kokkos::View<unsigned*, device_type>& aggStat,
 
  112                        LO& numNonAggregatedNodes) 
const;
 
  118                   const LO dofsPerNode,
 
  122   std::string 
description()
 const { 
return "Aggretation: structured algorithm"; }
 
  133                           Kokkos::View<unsigned*, device_type> aggStat,
 
  137     KOKKOS_INLINE_FUNCTION
 
  153                                     const LO numGhostedNodes, 
const LO dofsPerNode,
 
  158     KOKKOS_INLINE_FUNCTION
 
  173                               const LO dofsPerNode,
 
  174                               const int numInterpolationPoints, 
const LO numLocalRows,
 
  178     KOKKOS_INLINE_FUNCTION
 
  179     void operator()(
const LO rowIdx, 
GO& update, 
const bool final) 
const;
 
  196                                   const int numDimensions,
 
  197                                   const LO numGhostedNodes, 
const LO dofsPerNode,
 
  198                                   const int numInterpolationPoints,
 
  204     KOKKOS_INLINE_FUNCTION
 
  213 #define MUELU_AGGREGATIONSTRUCTUREDALGORITHM_KOKKOS_SHORT 
fillAggregatesFunctor(RCP< IndexManager_kokkos > geoData, const int myRank, Kokkos::View< unsigned *, device_type > aggStat, LOVectorView vertex2AggID, LOVectorView procWinner)
typename local_graph_type::device_type::execution_space execution_space
non_const_row_map_type rowPtr_
const int numGhostedNodes_
IndexManager_kokkos geoData_
typename local_graph_type::row_map_type::non_const_type non_const_row_map_type
KOKKOS_INLINE_FUNCTION void operator()(const LO nodeIdx) const 
MueLu::DefaultLocalOrdinal LocalOrdinal
IndexManager_kokkos geoData_
Lightweight MueLu representation of a compressed row storage graph. 
typename LWGraph_kokkos::local_graph_type local_graph_type
decltype(std::declval< LOVector >().getDeviceLocalView(Xpetra::Access::ReadWrite)) LOVectorView
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
Container class for aggregation information. 
typename std::conditional< OnHost, typename local_graph_device_type::HostMirror, local_graph_device_type >::type local_graph_type
constIntTupleView coarseRate_
virtual ~AggregationStructuredAlgorithm_kokkos()
Destructor. 
constLOTupleView lFineNodesPerDir_
constLOTupleView lFineNodesPerDir_
KOKKOS_INLINE_FUNCTION void operator()(const LO nodeIdx) const 
IndexManager_kokkos geoData_
constLOTupleView ghostedNodesPerDir_
constIntTupleView endRate_
Kokkos::View< unsigned *, device_type > aggStat_
computeGraphRowPtrFunctor(RCP< IndexManager_kokkos > geoData, const LO dofsPerNode, const int numInterpolationPoints, const LO numLocalRows, constIntTupleView coarseRate, constLOTupleView lFineNodesPerDir, non_const_row_map_type rowPtr)
non_const_row_map_type rowPtr_
LOVectorView vertex2AggID_
MueLu::DefaultGlobalOrdinal GlobalOrdinal
const int numInterpolationPoints_
constIntTupleView coarseRate_
const int numGhostedNodes_
typename Kokkos::View< const LO[3], device_type > constLOTupleView
non_const_row_map_type rowPtr_
KOKKOS_INLINE_FUNCTION void operator()(const LO rowIdx, GO &update, const bool final) const 
computeGraphDataLinearFunctor(RCP< IndexManager_kokkos > geoData, const int numDimensions, const LO numGhostedNodes, const LO dofsPerNode, const int numInterpolationPoints, constIntTupleView coarseRate, constIntTupleView endRate, constLOTupleView lFineNodesPerDir, constLOTupleView ghostedNodesPerDir, non_const_row_map_type rowPtr, entries_type colIndex)
const int numInterpolationPoints_
typename LWGraph_kokkos::device_type device_type
typename local_graph_type::size_type size_type
constIntTupleView endRate_
IndexManager_kokkos geoData_
std::string description() const 
Return a simple one-line description of this object. 
Container class for mesh layout and indices calculation. 
KOKKOS_INLINE_FUNCTION void operator()(const LO nodeIdx, LO &lNumAggregatedNodes) const 
void BuildAggregates(const Teuchos::ParameterList ¶ms, const LWGraph_kokkos &graph, Aggregates &aggregates, Kokkos::View< unsigned *, device_type > &aggStat, LO &numNonAggregatedNodes) const 
Build aggregates object. 
typename local_graph_type::device_type::memory_space memory_space
constLOTupleView lFineNodesPerDir_
computeGraphDataConstantFunctor(RCP< IndexManager_kokkos > geoData, const LO numGhostedNodes, const LO dofsPerNode, constIntTupleView coarseRate, constIntTupleView endRate, constLOTupleView lFineNodesPerDir, non_const_row_map_type rowPtr, entries_type colIndex)
typename Kokkos::View< const int[3], device_type > constIntTupleView
constIntTupleView coarseRate_
AggregationStructuredAlgorithm_kokkos()
Constructor. 
void BuildGraph(const LWGraph_kokkos &graph, RCP< IndexManager_kokkos > &geoData, const LO dofsPerNode, RCP< CrsGraph > &myGraph) const 
Build a CrsGraph instead of aggregates. 
typename local_graph_type::entries_type entries_type