Tpetra Matrix/Vector Services Version of the Day
Public Member Functions
Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node > Class Template Reference

A pure virtual interface for row-partitioned graphs. More...

#include <Tpetra_RowGraph_decl.hpp>

Inheritance diagram for Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >:
Inheritance graph
[legend]

List of all members.

Public Types

Typedefs
typedef LocalOrdinal local_ordinal_type
 The type of local indices in the graph.
typedef GlobalOrdinal global_ordinal_type
 The type of global indices in the graph.
typedef Node node_type
 The Kokkos Node type.

Public Member Functions

virtual ~RowGraph ()
 Destructor (virtual for memory safety of derived classes).
Graph query methods
virtual Teuchos::RCP< const
Teuchos::Comm< int > > 
getComm () const =0
 The communicator over which this graph is distributed.
virtual Teuchos::RCP< Node > getNode () const =0
 The Kokkos Node instance with which this object was created.
virtual Teuchos::RCP< const
Map< LocalOrdinal,
GlobalOrdinal, Node > > 
getRowMap () const =0
 The Map that describes this graph's distribution of rows over processes.
virtual Teuchos::RCP< const
Map< LocalOrdinal,
GlobalOrdinal, Node > > 
getColMap () const =0
 The Map that describes this graph's distribution of columns over processes.
virtual Teuchos::RCP< const
Map< LocalOrdinal,
GlobalOrdinal, Node > > 
getDomainMap () const =0
 The Map associated with the domain of this graph.
virtual Teuchos::RCP< const
Map< LocalOrdinal,
GlobalOrdinal, Node > > 
getRangeMap () const =0
 The Map associated with the range of this graph.
virtual Teuchos::RCP< const
Import< LocalOrdinal,
GlobalOrdinal, Node > > 
getImporter () const =0
 This graph's Import object.
virtual Teuchos::RCP< const
Export< LocalOrdinal,
GlobalOrdinal, Node > > 
getExporter () const =0
 This graph's Export object.
virtual global_size_t getGlobalNumRows () const =0
 Returns the number of global rows in the graph.
virtual global_size_t getGlobalNumCols () const =0
 Returns the number of global columns in the graph.
virtual size_t getNodeNumRows () const =0
 Returns the number of rows owned on the calling node.
virtual size_t getNodeNumCols () const =0
 Returns the number of columns connected to the locally owned rows of this graph.
virtual GlobalOrdinal getIndexBase () const =0
 Returns the index base for global indices for this graph.
virtual global_size_t getGlobalNumEntries () const =0
 Returns the global number of entries in the graph.
virtual size_t getNodeNumEntries () const =0
 Returns the local number of entries in the graph.
virtual size_t getNumEntriesInGlobalRow (GlobalOrdinal globalRow) const =0
 Returns the current number of entries on this node in the specified global row.
virtual size_t getNumEntriesInLocalRow (LocalOrdinal localRow) const =0
 Returns the current number of entries on this node in the specified local row.
virtual global_size_t getGlobalNumDiags () const =0
 Returns the number of global diagonal entries, based on global row/column index comparisons.
virtual size_t getNodeNumDiags () const =0
 Returns the number of local diagonal entries, based on global row/column index comparisons.
virtual size_t getGlobalMaxNumRowEntries () const =0
 Returns the maximum number of entries across all rows/columns on all nodes.
virtual size_t getNodeMaxNumRowEntries () const =0
 Returns the maximum number of entries across all rows/columns on this node.
virtual bool hasColMap () const =0
 Indicates whether the graph has a well-defined column map.
virtual bool isLowerTriangular () const =0
 Indicates whether the graph is lower triangular.
virtual bool isUpperTriangular () const =0
 Indicates whether the graph is upper triangular.
virtual bool isLocallyIndexed () const =0
 If graph indices are in the local range, this function returns true. Otherwise, this function returns false. */.
virtual bool isGloballyIndexed () const =0
 If graph indices are in the global range, this function returns true. Otherwise, this function returns false. */.
virtual bool isFillComplete () const =0
 Whether fillComplete() has been called (without an intervening resumeFill()).
Extraction Methods
virtual void getGlobalRowCopy (GlobalOrdinal GlobalRow, const Teuchos::ArrayView< GlobalOrdinal > &Indices, size_t &NumIndices) const =0
 Extract a list of entries in a specified global row of the graph. Put into pre-allocated storage.
virtual void getLocalRowCopy (LocalOrdinal LocalRow, const Teuchos::ArrayView< LocalOrdinal > &Indices, size_t &NumIndices) const =0
 Extract a list of entries in a specified local row of the graph. Put into storage allocated by calling routine.
Implementation of Packable interface
virtual void pack (const Teuchos::ArrayView< const LocalOrdinal > &exportLIDs, Teuchos::Array< GlobalOrdinal > &exports, const Teuchos::ArrayView< size_t > &numPacketsPerLID, size_t &constantNumPackets, Distributor &distor) const
 Pack this object's data for Import or Export.

Detailed Description

template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
class Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >

A pure virtual interface for row-partitioned graphs.

This class is templated on LocalOrdinal, GlobalOrdinal and Node. The LocalOrdinal type, if omitted, defaults to int. The GlobalOrdinal type defaults to the LocalOrdinal type. The Node type defaults to the default node in Kokkos.

Definition at line 67 of file Tpetra_RowGraph_decl.hpp.


Member Typedef Documentation

template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
typedef LocalOrdinal Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::local_ordinal_type
template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
typedef GlobalOrdinal Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::global_ordinal_type
template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
typedef Node Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::node_type

Constructor & Destructor Documentation

template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
virtual Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::~RowGraph ( ) [inline, virtual]

Destructor (virtual for memory safety of derived classes).

Definition at line 81 of file Tpetra_RowGraph_decl.hpp.


Member Function Documentation

template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
virtual Teuchos::RCP<const Teuchos::Comm<int> > Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::getComm ( ) const [pure virtual]
template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
virtual Teuchos::RCP<Node> Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::getNode ( ) const [pure virtual]
template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
virtual Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> > Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::getRowMap ( ) const [pure virtual]
template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
virtual Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> > Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::getColMap ( ) const [pure virtual]
template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
virtual Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> > Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::getDomainMap ( ) const [pure virtual]
template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
virtual Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> > Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::getRangeMap ( ) const [pure virtual]
template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
virtual Teuchos::RCP<const Import<LocalOrdinal,GlobalOrdinal,Node> > Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::getImporter ( ) const [pure virtual]
template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
virtual Teuchos::RCP<const Export<LocalOrdinal,GlobalOrdinal,Node> > Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::getExporter ( ) const [pure virtual]
template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
virtual global_size_t Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::getGlobalNumRows ( ) const [pure virtual]
template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
virtual global_size_t Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::getGlobalNumCols ( ) const [pure virtual]
template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
virtual size_t Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::getNodeNumRows ( ) const [pure virtual]
template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
virtual size_t Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::getNodeNumCols ( ) const [pure virtual]
template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
virtual GlobalOrdinal Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::getIndexBase ( ) const [pure virtual]
template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
virtual global_size_t Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::getGlobalNumEntries ( ) const [pure virtual]
template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
virtual size_t Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::getNodeNumEntries ( ) const [pure virtual]
template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
virtual size_t Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::getNumEntriesInGlobalRow ( GlobalOrdinal  globalRow) const [pure virtual]
template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
virtual size_t Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::getNumEntriesInLocalRow ( LocalOrdinal  localRow) const [pure virtual]
template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
virtual global_size_t Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::getGlobalNumDiags ( ) const [pure virtual]
template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
virtual size_t Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::getNodeNumDiags ( ) const [pure virtual]
template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
virtual size_t Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::getGlobalMaxNumRowEntries ( ) const [pure virtual]
template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
virtual size_t Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::getNodeMaxNumRowEntries ( ) const [pure virtual]
template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
virtual bool Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::hasColMap ( ) const [pure virtual]
template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
virtual bool Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::isLowerTriangular ( ) const [pure virtual]
template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
virtual bool Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::isUpperTriangular ( ) const [pure virtual]
template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
virtual bool Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::isLocallyIndexed ( ) const [pure virtual]
template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
virtual bool Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::isGloballyIndexed ( ) const [pure virtual]
template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
virtual bool Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::isFillComplete ( ) const [pure virtual]
template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
virtual void Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::getGlobalRowCopy ( GlobalOrdinal  GlobalRow,
const Teuchos::ArrayView< GlobalOrdinal > &  Indices,
size_t &  NumIndices 
) const [pure virtual]

Extract a list of entries in a specified global row of the graph. Put into pre-allocated storage.

Parameters:
LocalRow- (In) Global row number for which indices are desired.
Indices- (Out) Global column indices corresponding to values.
NumIndices- (Out) Number of indices.

Note: A std::runtime_error exception is thrown if Indices is not large enough to hold the column indices associated with row GlobalRow. If GlobalRow does not belong to this node, then Indices is unchanged and NumIndices is returned as Teuchos::OrdinalTraits<size_t>::invalid().

Implemented in Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType >, typename KokkosClassic::DefaultKernels< void, LocalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > >::SparseOps >, and Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >.

template<class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
virtual void Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::getLocalRowCopy ( LocalOrdinal  LocalRow,
const Teuchos::ArrayView< LocalOrdinal > &  Indices,
size_t &  NumIndices 
) const [pure virtual]

Extract a list of entries in a specified local row of the graph. Put into storage allocated by calling routine.

Parameters:
LocalRow- (In) Local row number for which indices are desired.
Indices- (Out) Local column indices corresponding to values.
NumIndices- (Out) Number of indices.

Note: A std::runtime_error exception is thrown if Indices is not large enough to hold the column indices associated with row LocalRow. If LocalRow is not valid for this node, then Indices is unchanged and NumIndices is returned as Teuchos::OrdinalTraits<size_t>::invalid().

Implemented in Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType >, typename KokkosClassic::DefaultKernels< void, LocalOrdinal, Kokkos::Compat::KokkosDeviceWrapperNode< DeviceType > >::SparseOps >, and Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, LocalMatOps >.

template<class LocalOrdinal, class GlobalOrdinal, class Node >
void Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::pack ( const Teuchos::ArrayView< const LocalOrdinal > &  exportLIDs,
Teuchos::Array< GlobalOrdinal > &  exports,
const Teuchos::ArrayView< size_t > &  numPacketsPerLID,
size_t &  constantNumPackets,
Distributor distor 
) const [virtual]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines