MueLu  Version of the Day
MueLu::AggregationStructuredAlgorithm_kokkos< LocalOrdinal, GlobalOrdinal, Node > Class Template Reference

#include <MueLu_AggregationStructuredAlgorithm_kokkos_decl.hpp>

Inheritance diagram for MueLu::AggregationStructuredAlgorithm_kokkos< LocalOrdinal, GlobalOrdinal, Node >:

Classes

struct  computeGraphDataConstantFunctor
 
struct  computeGraphDataLinearFunctor
 
struct  computeGraphRowPtrFunctor
 
struct  fillAggregatesFunctor
 

Public Types

using local_graph_type = typename LWGraph_kokkos::local_graph_type
 
using non_const_row_map_type = typename local_graph_type::row_map_type::non_const_type
 
using size_type = typename local_graph_type::size_type
 
using entries_type = typename local_graph_type::entries_type
 
using device_type = typename local_graph_type::device_type
 
using execution_space = typename local_graph_type::device_type::execution_space
 
using memory_space = typename local_graph_type::device_type::memory_space
 
using LOVectorView = decltype(std::declval< LOVector >().getDeviceLocalView(Xpetra::Access::ReadWrite))
 
using constIntTupleView = typename Kokkos::View< const int[3], device_type >
 
using constLOTupleView = typename Kokkos::View< const LO[3], device_type >
 

Public Member Functions

std::string description () const
 

Constructors/Destructors.

 AggregationStructuredAlgorithm_kokkos ()
 Constructor. More...
 
virtual ~AggregationStructuredAlgorithm_kokkos ()
 Destructor. More...
 

Aggregation methods.

void BuildAggregates (const Teuchos::ParameterList &params, const LWGraph_kokkos &graph, Aggregates_kokkos &aggregates, Kokkos::View< unsigned *, device_type > &aggStat, LO &numNonAggregatedNodes) const
 Build aggregates object. More...
 
void BuildGraph (const LWGraph_kokkos &graph, RCP< IndexManager_kokkos > &geoData, const LO dofsPerNode, RCP< CrsGraph > &myGraph) const
 Build a CrsGraph instead of aggregates. More...
 

Detailed Description

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
class MueLu::AggregationStructuredAlgorithm_kokkos< LocalOrdinal, GlobalOrdinal, Node >

Definition at line 76 of file MueLu_AggregationStructuredAlgorithm_kokkos_decl.hpp.

Member Typedef Documentation

◆ local_graph_type

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
using MueLu::AggregationStructuredAlgorithm_kokkos< LocalOrdinal, GlobalOrdinal, Node >::local_graph_type = typename LWGraph_kokkos::local_graph_type

◆ non_const_row_map_type

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
using MueLu::AggregationStructuredAlgorithm_kokkos< LocalOrdinal, GlobalOrdinal, Node >::non_const_row_map_type = typename local_graph_type::row_map_type::non_const_type

◆ size_type

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
using MueLu::AggregationStructuredAlgorithm_kokkos< LocalOrdinal, GlobalOrdinal, Node >::size_type = typename local_graph_type::size_type

◆ entries_type

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
using MueLu::AggregationStructuredAlgorithm_kokkos< LocalOrdinal, GlobalOrdinal, Node >::entries_type = typename local_graph_type::entries_type

◆ device_type

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
using MueLu::AggregationStructuredAlgorithm_kokkos< LocalOrdinal, GlobalOrdinal, Node >::device_type = typename local_graph_type::device_type

◆ execution_space

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
using MueLu::AggregationStructuredAlgorithm_kokkos< LocalOrdinal, GlobalOrdinal, Node >::execution_space = typename local_graph_type::device_type::execution_space

◆ memory_space

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
using MueLu::AggregationStructuredAlgorithm_kokkos< LocalOrdinal, GlobalOrdinal, Node >::memory_space = typename local_graph_type::device_type::memory_space

◆ LOVectorView

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
using MueLu::AggregationStructuredAlgorithm_kokkos< LocalOrdinal, GlobalOrdinal, Node >::LOVectorView = decltype(std::declval<LOVector>().getDeviceLocalView(Xpetra::Access::ReadWrite))

◆ constIntTupleView

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
using MueLu::AggregationStructuredAlgorithm_kokkos< LocalOrdinal, GlobalOrdinal, Node >::constIntTupleView = typename Kokkos::View<const int[3], device_type>

◆ constLOTupleView

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
using MueLu::AggregationStructuredAlgorithm_kokkos< LocalOrdinal, GlobalOrdinal, Node >::constLOTupleView = typename Kokkos::View<const LO[3], device_type>

Constructor & Destructor Documentation

◆ AggregationStructuredAlgorithm_kokkos()

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
MueLu::AggregationStructuredAlgorithm_kokkos< LocalOrdinal, GlobalOrdinal, Node >::AggregationStructuredAlgorithm_kokkos ( )
inline

Constructor.

Definition at line 99 of file MueLu_AggregationStructuredAlgorithm_kokkos_decl.hpp.

◆ ~AggregationStructuredAlgorithm_kokkos()

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
virtual MueLu::AggregationStructuredAlgorithm_kokkos< LocalOrdinal, GlobalOrdinal, Node >::~AggregationStructuredAlgorithm_kokkos ( )
inlinevirtual

Destructor.

Definition at line 102 of file MueLu_AggregationStructuredAlgorithm_kokkos_decl.hpp.

Member Function Documentation

◆ BuildAggregates()

template<class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::AggregationStructuredAlgorithm_kokkos< LocalOrdinal, GlobalOrdinal, Node >::BuildAggregates ( const Teuchos::ParameterList &  params,
const LWGraph_kokkos &  graph,
Aggregates_kokkos &  aggregates,
Kokkos::View< unsigned *, device_type > &  aggStat,
LO &  numNonAggregatedNodes 
) const

Build aggregates object.

Definition at line 70 of file MueLu_AggregationStructuredAlgorithm_kokkos_def.hpp.

◆ BuildGraph()

template<class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::AggregationStructuredAlgorithm_kokkos< LocalOrdinal, GlobalOrdinal, Node >::BuildGraph ( const LWGraph_kokkos &  graph,
RCP< IndexManager_kokkos > &  geoData,
const LO  dofsPerNode,
RCP< CrsGraph > &  myGraph 
) const

Build a CrsGraph instead of aggregates.

Definition at line 111 of file MueLu_AggregationStructuredAlgorithm_kokkos_def.hpp.

◆ description()

template<class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
std::string MueLu::AggregationStructuredAlgorithm_kokkos< LocalOrdinal, GlobalOrdinal, Node >::description ( ) const
inline

The documentation for this class was generated from the following files: