MueLu Version of the Day
Loading...
Searching...
No Matches
MueLu::LocalLWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > > Class Template Reference

#include <MueLu_LocalLWGraph_kokkos_decl.hpp>

Public Types

using local_ordinal_type = LocalOrdinal
 
using global_ordinal_type = GlobalOrdinal
 
using execution_space = typename DeviceType::execution_space
 
using memory_space = typename DeviceType::memory_space
 
using device_type = Kokkos::Device<execution_space, memory_space>
 
using range_type = Kokkos::RangePolicy<local_ordinal_type, execution_space>
 
using node_type = Kokkos::Compat::KokkosDeviceWrapperNode<DeviceType>
 
using size_type = size_t
 
using local_graph_type
 
using boundary_nodes_type = Kokkos::View<const bool*, memory_space>
 
using row_type = Kokkos::View<const LocalOrdinal*, memory_space>
 
using map_type = Xpetra::Map<LocalOrdinal, GlobalOrdinal, node_type>
 

Private Types

typedef node_type Node
 

Constructors/Destructors.

const local_graph_type graph_
 Underlying graph (with label)
 
boundary_nodes_type dirichletBoundaries_
 Boolean array marking Dirichlet rows.
 
LO minLocalIndex_
 Local index boundaries (cached from domain map)
 
LO maxLocalIndex_
 
size_type maxNumRowEntries_
 
 LocalLWGraph_kokkos (const local_graph_type &graph, const RCP< const map_type > &domainMap)
 LocalLWGraph constructor.
 
 ~LocalLWGraph_kokkos ()=default
 
KOKKOS_INLINE_FUNCTION size_type GetNodeNumVertices () const
 Return number of graph vertices.
 
KOKKOS_INLINE_FUNCTION size_type GetNodeNumEdges () const
 Return number of graph edges.
 
KOKKOS_INLINE_FUNCTION size_type getLocalMaxNumRowEntries () const
 Returns the maximum number of entries across all rows/columns on this node.
 
KOKKOS_INLINE_FUNCTION local_graph_type::row_map_type getRowPtrs () const
 Return the row pointers of the local graph.
 
KOKKOS_INLINE_FUNCTION local_graph_type::entries_type getEntries () const
 Return the list entries in the local graph.
 
KOKKOS_INLINE_FUNCTION Kokkos::GraphRowViewConst< local_graph_typegetNeighborVertices (LO i) const
 Return the list of vertices adjacent to the vertex 'v'.
 
KOKKOS_INLINE_FUNCTION bool isLocalNeighborVertex (LO i) const
 Return true if vertex with local id 'v' is on current process.
 
KOKKOS_INLINE_FUNCTION void SetBoundaryNodeMap (const boundary_nodes_type bndry)
 Set boolean array indicating which rows correspond to Dirichlet boundaries.
 
KOKKOS_INLINE_FUNCTION const boundary_nodes_type GetBoundaryNodeMap () const
 Returns map with global ids of boundary nodes.
 
const local_graph_typegetGraph () const
 

Detailed Description

template<class LocalOrdinal, class GlobalOrdinal, class DeviceType>
class MueLu::LocalLWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > >

Definition at line 76 of file MueLu_LocalLWGraph_kokkos_decl.hpp.

Member Typedef Documentation

◆ local_ordinal_type

template<class LocalOrdinal , class GlobalOrdinal , class DeviceType >
using MueLu::LocalLWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > >::local_ordinal_type = LocalOrdinal

Definition at line 78 of file MueLu_LocalLWGraph_kokkos_decl.hpp.

◆ global_ordinal_type

template<class LocalOrdinal , class GlobalOrdinal , class DeviceType >
using MueLu::LocalLWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > >::global_ordinal_type = GlobalOrdinal

Definition at line 79 of file MueLu_LocalLWGraph_kokkos_decl.hpp.

◆ execution_space

template<class LocalOrdinal , class GlobalOrdinal , class DeviceType >
using MueLu::LocalLWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > >::execution_space = typename DeviceType::execution_space

Definition at line 80 of file MueLu_LocalLWGraph_kokkos_decl.hpp.

◆ memory_space

template<class LocalOrdinal , class GlobalOrdinal , class DeviceType >
using MueLu::LocalLWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > >::memory_space = typename DeviceType::memory_space

Definition at line 81 of file MueLu_LocalLWGraph_kokkos_decl.hpp.

◆ device_type

template<class LocalOrdinal , class GlobalOrdinal , class DeviceType >
using MueLu::LocalLWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > >::device_type = Kokkos::Device<execution_space, memory_space>

Definition at line 82 of file MueLu_LocalLWGraph_kokkos_decl.hpp.

◆ range_type

template<class LocalOrdinal , class GlobalOrdinal , class DeviceType >
using MueLu::LocalLWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > >::range_type = Kokkos::RangePolicy<local_ordinal_type, execution_space>

Definition at line 83 of file MueLu_LocalLWGraph_kokkos_decl.hpp.

◆ node_type

template<class LocalOrdinal , class GlobalOrdinal , class DeviceType >
using MueLu::LocalLWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > >::node_type = Kokkos::Compat::KokkosDeviceWrapperNode<DeviceType>

Definition at line 84 of file MueLu_LocalLWGraph_kokkos_decl.hpp.

◆ size_type

template<class LocalOrdinal , class GlobalOrdinal , class DeviceType >
using MueLu::LocalLWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > >::size_type = size_t

Definition at line 85 of file MueLu_LocalLWGraph_kokkos_decl.hpp.

◆ local_graph_type

template<class LocalOrdinal , class GlobalOrdinal , class DeviceType >
using MueLu::LocalLWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > >::local_graph_type
Initial value:
Kokkos::StaticCrsGraph<LocalOrdinal,
Kokkos::LayoutLeft,
device_type, void, size_t>
MueLu::DefaultLocalOrdinal LocalOrdinal

Definition at line 87 of file MueLu_LocalLWGraph_kokkos_decl.hpp.

◆ boundary_nodes_type

template<class LocalOrdinal , class GlobalOrdinal , class DeviceType >
using MueLu::LocalLWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > >::boundary_nodes_type = Kokkos::View<const bool*, memory_space>

Definition at line 90 of file MueLu_LocalLWGraph_kokkos_decl.hpp.

◆ row_type

template<class LocalOrdinal , class GlobalOrdinal , class DeviceType >
using MueLu::LocalLWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > >::row_type = Kokkos::View<const LocalOrdinal*, memory_space>

Definition at line 91 of file MueLu_LocalLWGraph_kokkos_decl.hpp.

◆ map_type

template<class LocalOrdinal , class GlobalOrdinal , class DeviceType >
using MueLu::LocalLWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > >::map_type = Xpetra::Map<LocalOrdinal, GlobalOrdinal, node_type>

Definition at line 92 of file MueLu_LocalLWGraph_kokkos_decl.hpp.

◆ Node

template<class LocalOrdinal , class GlobalOrdinal , class DeviceType >
typedef node_type MueLu::LocalLWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > >::Node
private

Definition at line 96 of file MueLu_LocalLWGraph_kokkos_decl.hpp.

Constructor & Destructor Documentation

◆ LocalLWGraph_kokkos()

template<class LocalOrdinal , class GlobalOrdinal , class DeviceType >
MueLu::LocalLWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > >::LocalLWGraph_kokkos ( const local_graph_type & graph,
const RCP< const map_type > & domainMap )

LocalLWGraph constructor.

Definition at line 88 of file MueLu_LocalLWGraph_kokkos_def.hpp.

◆ ~LocalLWGraph_kokkos()

template<class LocalOrdinal , class GlobalOrdinal , class DeviceType >
MueLu::LocalLWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > >::~LocalLWGraph_kokkos ( )
default

Member Function Documentation

◆ GetNodeNumVertices()

template<class LocalOrdinal , class GlobalOrdinal , class DeviceType >
KOKKOS_INLINE_FUNCTION size_type MueLu::LocalLWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > >::GetNodeNumVertices ( ) const
inline

Return number of graph vertices.

Definition at line 115 of file MueLu_LocalLWGraph_kokkos_decl.hpp.

◆ GetNodeNumEdges()

template<class LocalOrdinal , class GlobalOrdinal , class DeviceType >
KOKKOS_INLINE_FUNCTION size_type MueLu::LocalLWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > >::GetNodeNumEdges ( ) const
inline

Return number of graph edges.

Definition at line 119 of file MueLu_LocalLWGraph_kokkos_decl.hpp.

◆ getLocalMaxNumRowEntries()

template<class LocalOrdinal , class GlobalOrdinal , class DeviceType >
KOKKOS_INLINE_FUNCTION size_type MueLu::LocalLWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > >::getLocalMaxNumRowEntries ( ) const
inline

Returns the maximum number of entries across all rows/columns on this node.

Definition at line 124 of file MueLu_LocalLWGraph_kokkos_decl.hpp.

◆ getRowPtrs()

template<class LocalOrdinal , class GlobalOrdinal , class DeviceType >
KOKKOS_INLINE_FUNCTION local_graph_type::row_map_type MueLu::LocalLWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > >::getRowPtrs ( ) const
inline

Return the row pointers of the local graph.

Definition at line 129 of file MueLu_LocalLWGraph_kokkos_decl.hpp.

◆ getEntries()

template<class LocalOrdinal , class GlobalOrdinal , class DeviceType >
KOKKOS_INLINE_FUNCTION local_graph_type::entries_type MueLu::LocalLWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > >::getEntries ( ) const
inline

Return the list entries in the local graph.

Definition at line 134 of file MueLu_LocalLWGraph_kokkos_decl.hpp.

◆ getNeighborVertices()

template<class LocalOrdinal , class GlobalOrdinal , class DeviceType >
KOKKOS_INLINE_FUNCTION Kokkos::GraphRowViewConst< local_graph_type > MueLu::LocalLWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > >::getNeighborVertices ( LO i) const
inline

Return the list of vertices adjacent to the vertex 'v'.

Definition at line 143 of file MueLu_LocalLWGraph_kokkos_decl.hpp.

◆ isLocalNeighborVertex()

template<class LocalOrdinal , class GlobalOrdinal , class DeviceType >
KOKKOS_INLINE_FUNCTION bool MueLu::LocalLWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > >::isLocalNeighborVertex ( LO i) const
inline

Return true if vertex with local id 'v' is on current process.

Definition at line 150 of file MueLu_LocalLWGraph_kokkos_decl.hpp.

◆ SetBoundaryNodeMap()

template<class LocalOrdinal , class GlobalOrdinal , class DeviceType >
KOKKOS_INLINE_FUNCTION void MueLu::LocalLWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > >::SetBoundaryNodeMap ( const boundary_nodes_type bndry)
inline

Set boolean array indicating which rows correspond to Dirichlet boundaries.

Definition at line 155 of file MueLu_LocalLWGraph_kokkos_decl.hpp.

◆ GetBoundaryNodeMap()

template<class LocalOrdinal , class GlobalOrdinal , class DeviceType >
KOKKOS_INLINE_FUNCTION const boundary_nodes_type MueLu::LocalLWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > >::GetBoundaryNodeMap ( ) const
inline

Returns map with global ids of boundary nodes.

Definition at line 160 of file MueLu_LocalLWGraph_kokkos_decl.hpp.

◆ getGraph()

template<class LocalOrdinal , class GlobalOrdinal , class DeviceType >
const local_graph_type & MueLu::LocalLWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > >::getGraph ( ) const
inline

Definition at line 164 of file MueLu_LocalLWGraph_kokkos_decl.hpp.

Member Data Documentation

◆ graph_

template<class LocalOrdinal , class GlobalOrdinal , class DeviceType >
const local_graph_type MueLu::LocalLWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > >::graph_
private

Underlying graph (with label)

Definition at line 171 of file MueLu_LocalLWGraph_kokkos_decl.hpp.

◆ dirichletBoundaries_

template<class LocalOrdinal , class GlobalOrdinal , class DeviceType >
boundary_nodes_type MueLu::LocalLWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > >::dirichletBoundaries_
private

Boolean array marking Dirichlet rows.

Definition at line 174 of file MueLu_LocalLWGraph_kokkos_decl.hpp.

◆ minLocalIndex_

template<class LocalOrdinal , class GlobalOrdinal , class DeviceType >
LO MueLu::LocalLWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > >::minLocalIndex_
private

Local index boundaries (cached from domain map)

Definition at line 177 of file MueLu_LocalLWGraph_kokkos_decl.hpp.

◆ maxLocalIndex_

template<class LocalOrdinal , class GlobalOrdinal , class DeviceType >
LO MueLu::LocalLWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > >::maxLocalIndex_
private

Definition at line 177 of file MueLu_LocalLWGraph_kokkos_decl.hpp.

◆ maxNumRowEntries_

template<class LocalOrdinal , class GlobalOrdinal , class DeviceType >
size_type MueLu::LocalLWGraph_kokkos< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > >::maxNumRowEntries_
private

Definition at line 178 of file MueLu_LocalLWGraph_kokkos_decl.hpp.


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