Kokkos Node API and Local Linear Algebra Kernels Version of the Day
Kokkos::CrsMatrix< Scalar, Ordinal, Node, LocalMatOps > Class Template Reference

Kokkos compressed-row sparse matrix class. More...

#include <Kokkos_CrsMatrix.hpp>

Inheritance diagram for Kokkos::CrsMatrix< Scalar, Ordinal, Node, LocalMatOps >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

Graph set routines.
void setOwnedGraph (CrsGraphHostCompute< Ordinal, Node, LocalMatOps > &graph)
 Set matrix-owned graph.
void setStaticGraph (const CrsGraphHostCompute< Ordinal, Node, LocalMatOps > &graph)
 Set static graph.
Data entry and accessor methods.
RCP< Node > getNode () const
 Node accessor.
size_t getNumRows () const
 Return the number of rows in the matrix.
size_t getNumEntries () const
 Return the number of entries in the matrix.
bool isEmpty () const
 Indicates that the graph is filled, but empty.
bool isFinalized () const
 Whether the graph has been finalized.
bool is1DStructure () const
 Whether the structure is 1D.
bool is2DStructure () const
 Whether the structure is 2D.
bool isOptimized () const
 Whether the sparse matrix stucture is optimized.
void set1DValues (ArrayRCP< Scalar > vals)
 Submit the values for 1D storage.
void set2DValues (ArrayRCP< ArrayRCP< Scalar > > vals)
 Submit the values for 2D storage.
void get1DValues (ArrayRCP< Scalar > &vals)
 Retrieve the values for 1D storage.
void get2DValues (ArrayRCP< ArrayRCP< Scalar > > &inds)
 Retrieve the structure for 2D storage.
void finalize (bool OptimizeStorage)
 Instruct the matrix to perform any necessary manipulation, including (optionally) optimizing the storage of the matrix data.
virtual void clear ()
 Release data associated with this graph.

Detailed Description

template<class Scalar, class Ordinal, class Node, class LocalMatOps>
class Kokkos::CrsMatrix< Scalar, Ordinal, Node, LocalMatOps >

Kokkos compressed-row sparse matrix class.

Matrix coefficients are stored in one of the following ways:

Default specialization is a host-bound CrsMatrixHostCompute object.

Examples:

DummySparseKernelDriver.cpp.

Definition at line 728 of file Kokkos_CrsMatrix.hpp.


Member Function Documentation

template<class Scalar , class Ordinal, class Node, class LocalMatOps>
void Kokkos::CrsMatrixHostCompute< Scalar, Ordinal, Node, LocalMatOps >::setOwnedGraph ( CrsGraphHostCompute< Ordinal, Node, LocalMatOps > &  graph) [inherited]

Set matrix-owned graph.

Definition at line 235 of file Kokkos_CrsMatrix.hpp.

template<class Scalar , class Ordinal, class Node, class LocalMatOps>
void Kokkos::CrsMatrixHostCompute< Scalar, Ordinal, Node, LocalMatOps >::setStaticGraph ( const CrsGraphHostCompute< Ordinal, Node, LocalMatOps > &  graph) [inherited]

Set static graph.

Definition at line 224 of file Kokkos_CrsMatrix.hpp.

template<class Scalar , class Ordinal , class Node , class LocalMatOps >
RCP< Node > Kokkos::CrsMatrixHostCompute< Scalar, Ordinal, Node, LocalMatOps >::getNode ( ) const [inherited]

Node accessor.

Definition at line 258 of file Kokkos_CrsMatrix.hpp.

template<class Scalar , class Ordinal , class Node , class LocalMatOps >
size_t Kokkos::CrsMatrixHostCompute< Scalar, Ordinal, Node, LocalMatOps >::getNumRows ( ) const [inherited]

Return the number of rows in the matrix.

Definition at line 264 of file Kokkos_CrsMatrix.hpp.

template<class Scalar , class Ordinal , class Node , class LocalMatOps >
size_t Kokkos::CrsMatrixHostCompute< Scalar, Ordinal, Node, LocalMatOps >::getNumEntries ( ) const [inherited]

Return the number of entries in the matrix.

Definition at line 270 of file Kokkos_CrsMatrix.hpp.

template<class Scalar , class Ordinal , class Node , class LocalMatOps >
bool Kokkos::CrsMatrixHostCompute< Scalar, Ordinal, Node, LocalMatOps >::isEmpty ( ) const [inherited]

Indicates that the graph is filled, but empty.

Definition at line 276 of file Kokkos_CrsMatrix.hpp.

template<class Scalar , class Ordinal , class Node , class LocalMatOps >
bool Kokkos::CrsMatrixHostCompute< Scalar, Ordinal, Node, LocalMatOps >::isFinalized ( ) const [inherited]

Whether the graph has been finalized.

Definition at line 282 of file Kokkos_CrsMatrix.hpp.

template<class Scalar , class Ordinal , class Node , class LocalMatOps >
bool Kokkos::CrsMatrixHostCompute< Scalar, Ordinal, Node, LocalMatOps >::is1DStructure ( ) const [inherited]

Whether the structure is 1D.

It will never be the case that both is1DStructure() and is2DStructure() return true.

Definition at line 288 of file Kokkos_CrsMatrix.hpp.

template<class Scalar , class Ordinal , class Node , class LocalMatOps >
bool Kokkos::CrsMatrixHostCompute< Scalar, Ordinal, Node, LocalMatOps >::is2DStructure ( ) const [inherited]

Whether the structure is 2D.

It will never be the case that both is1DStructure() and is2DStructure() return true.

Definition at line 294 of file Kokkos_CrsMatrix.hpp.

template<class Scalar , class Ordinal , class Node , class LocalMatOps >
bool Kokkos::CrsMatrixHostCompute< Scalar, Ordinal, Node, LocalMatOps >::isOptimized ( ) const [inherited]

Whether the sparse matrix stucture is optimized.

Definition at line 300 of file Kokkos_CrsMatrix.hpp.

template<class Scalar, class Ordinal , class Node , class LocalMatOps >
void Kokkos::CrsMatrixHostCompute< Scalar, Ordinal, Node, LocalMatOps >::set1DValues ( ArrayRCP< Scalar >  vals) [inherited]

Submit the values for 1D storage.

Postcondition:
is1DStructure() == true

Definition at line 322 of file Kokkos_CrsMatrix.hpp.

template<class Scalar, class Ordinal , class Node , class LocalMatOps >
void Kokkos::CrsMatrixHostCompute< Scalar, Ordinal, Node, LocalMatOps >::set2DValues ( ArrayRCP< ArrayRCP< Scalar > >  vals) [inherited]

Submit the values for 2D storage.

Postcondition:
is2DStructure() == true

Definition at line 337 of file Kokkos_CrsMatrix.hpp.

template<class Scalar, class Ordinal , class Node , class LocalMatOps >
void Kokkos::CrsMatrixHostCompute< Scalar, Ordinal, Node, LocalMatOps >::get1DValues ( ArrayRCP< Scalar > &  vals) [inherited]

Retrieve the values for 1D storage.

If is1DStructure() == false, then

Postcondition:
vals == null

Definition at line 306 of file Kokkos_CrsMatrix.hpp.

template<class Scalar, class Ordinal , class Node , class LocalMatOps >
void Kokkos::CrsMatrixHostCompute< Scalar, Ordinal, Node, LocalMatOps >::get2DValues ( ArrayRCP< ArrayRCP< Scalar > > &  inds) [inherited]

Retrieve the structure for 2D storage.

If is2DStructure() == false, then

Postcondition:
vals == null

Definition at line 313 of file Kokkos_CrsMatrix.hpp.

template<class Scalar , class Ordinal , class Node , class LocalMatOps >
void Kokkos::CrsMatrixHostCompute< Scalar, Ordinal, Node, LocalMatOps >::finalize ( bool  OptimizeStorage) [inherited]

Instruct the matrix to perform any necessary manipulation, including (optionally) optimizing the storage of the matrix data.

If the matrix is associated with a matrix-owned graph, then it will be finalized as well. A static graph will not be modified.

Parameters:
[in]OptimizeStoragePermit the graph to reallocate storage on the host in order to provide optimal storage and/or performance.
Postcondition:
if OptimizeStorage == true, then is2DStructure() == true

Reimplemented in Kokkos::CrsMatrixDeviceCompute< Scalar, Ordinal, Node, LocalMatOps >, Kokkos::FirstTouchHostCrsMatrix< Scalar, Ordinal, Node, LocalMatOps >, and Kokkos::CrsMatrixDeviceCompute< Scalar, Ordinal, Node, DefaultDeviceSparseOps< void, Ordinal, Node > >.

Definition at line 352 of file Kokkos_CrsMatrix.hpp.

template<class Scalar , class Ordinal , class Node , class LocalMatOps >
void Kokkos::CrsMatrixHostCompute< Scalar, Ordinal, Node, LocalMatOps >::clear ( ) [virtual, inherited]

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