Tpetra parallel linear algebra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
Tpetra::Details::Impl::DetermineLocalTriangularStructure< LocalGraphType, LocalMapType > Class Template Reference

Implementation of Tpetra::Details::determineLocalTriangularStructure (which see below). More...

#include <Tpetra_Details_determineLocalTriangularStructure.hpp>

Public Member Functions

 DetermineLocalTriangularStructure (const LocalGraphType &G, const LocalMapType &rowMap, const LocalMapType &colMap, const bool ignoreMapsForTriangularStructure)
 Constructor. More...
 
KOKKOS_INLINE_FUNCTION void init (result_type &dst) const
 Set the initial value of the reduction result. More...
 
KOKKOS_INLINE_FUNCTION void operator() (const typename LocalMapType::local_ordinal_type lclRow, result_type &result) const
 Reduction operator: result is (diagonal count, error count). More...
 

Detailed Description

template<class LocalGraphType, class LocalMapType>
class Tpetra::Details::Impl::DetermineLocalTriangularStructure< LocalGraphType, LocalMapType >

Implementation of Tpetra::Details::determineLocalTriangularStructure (which see below).

Warning
This is an implementation detail of an implementation detail. It may change or disappear at any time.

Kokkos::parallel_reduce functor for counting the local number of diagonal entries in a sparse graph, and determining whether the graph is lower or upper triangular (or neither).

Template Parameters
LocalGraphTypeKokkos::StaticCrsGraph specialization
LocalMapTypeResult of Tpetra::Map::getLocalGraph()

Definition at line 90 of file Tpetra_Details_determineLocalTriangularStructure.hpp.

Constructor & Destructor Documentation

template<class LocalGraphType , class LocalMapType >
Tpetra::Details::Impl::DetermineLocalTriangularStructure< LocalGraphType, LocalMapType >::DetermineLocalTriangularStructure ( const LocalGraphType &  G,
const LocalMapType &  rowMap,
const LocalMapType &  colMap,
const bool  ignoreMapsForTriangularStructure 
)
inline

Constructor.

Parameters
G[in] The local sparse graph
rowMap[in] The graph's local row Map
colMap[in] The graph's local column Map
ignoreMapsForTriangularStructure[in] If true, ignore the Maps when determining whether the graph is structurally lower or upper triangular (or neither). See GitHub Issue #2658. Regardless, use the Maps to count diagonal entries.

Definition at line 106 of file Tpetra_Details_determineLocalTriangularStructure.hpp.

Member Function Documentation

template<class LocalGraphType , class LocalMapType >
KOKKOS_INLINE_FUNCTION void Tpetra::Details::Impl::DetermineLocalTriangularStructure< LocalGraphType, LocalMapType >::init ( result_type dst) const
inline

Set the initial value of the reduction result.

Definition at line 117 of file Tpetra_Details_determineLocalTriangularStructure.hpp.

template<class LocalGraphType , class LocalMapType >
KOKKOS_INLINE_FUNCTION void Tpetra::Details::Impl::DetermineLocalTriangularStructure< LocalGraphType, LocalMapType >::operator() ( const typename LocalMapType::local_ordinal_type  lclRow,
result_type result 
) const
inline

Reduction operator: result is (diagonal count, error count).

Definition at line 138 of file Tpetra_Details_determineLocalTriangularStructure.hpp.


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