Kokkos Node API and Local Linear Algebra Kernels Version of the Day
Kokkos::CrsGraph< Ordinal, Node, KokkosExamples::DummySparseKernel< Node > > Class Template Reference

A partial specialization of CrsGraph for use with KokkosExamples::DummySparseKernelThis specialization inherits from CrsGraphHostCompute. The consequence of this is that it is only appropriate for use on host-based nodes; and that it doesn't specialize any capability based on the KokkosExamples::DummySparseKernel provider (which is fine, because this is for demonstration purposes only.) More...

#include <Kokkos_DummySparseKernelClass.hpp>

Inheritance diagram for Kokkos::CrsGraph< Ordinal, Node, KokkosExamples::DummySparseKernel< Node > >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

Accessor routines.
RCP< Node > getNode () const
 Node accessor.
Data entry and accessor methods.
size_t getNumRows () const
 Return the number of rows in the graph.
size_t getNumEntries () const
 Return the number of entries in the graph.
bool isEmpty () const
 Indicates that the graph is filled, but empty.
bool isFinalized () const
 Indicatest that the graph has been finalized.
bool is1DStructure () const
 Indicate that the structure is 1D. It will never be the case that both is1DStructure() and is2DStructure() return true.
bool is2DStructure () const
 Indicate that the structure is 2D. It will never be the case that both is1DStructure() and is2DStructure() return true.
bool isOptimized () const
 Indicate that the stucture is optimized.
void set1DStructure (ArrayRCP< Ordinal > inds, ArrayRCP< size_t > rowBegs, ArrayRCP< size_t > rowEnds)
 Submit the indices and offset for 1D storage.
void set2DStructure (ArrayRCP< ArrayRCP< Ordinal > > inds, ArrayRCP< size_t > numEntriesPerRow)
 Submit the indices for 2D storage.
void get1DStructure (ArrayRCP< Ordinal > &inds, ArrayRCP< size_t > &rowBegs, ArrayRCP< size_t > &rowEnds)
 Retrieve the structure for 1D storage.
void get2DStructure (ArrayRCP< ArrayRCP< Ordinal > > &inds, ArrayRCP< size_t > &numEntriesPerRow)
 Retrieve the structure for 2D storage.
void finalize (bool OptimizeStorage)
 Instruct the graph to perform any necessary manipulation, including (optionally) optimizing the storage of the graph data.
void finalize (bool OptimizeStorage, ArrayRCP< ArrayRCP< Scalar > > &values2D, ArrayRCP< Scalar > &values1D)
virtual void clear ()
 Release data associated with this graph.

Detailed Description

template<class Ordinal, class Node>
class Kokkos::CrsGraph< Ordinal, Node, KokkosExamples::DummySparseKernel< Node > >

A partial specialization of CrsGraph for use with KokkosExamples::DummySparseKernel

This specialization inherits from CrsGraphHostCompute. The consequence of this is that it is only appropriate for use on host-based nodes; and that it doesn't specialize any capability based on the KokkosExamples::DummySparseKernel provider (which is fine, because this is for demonstration purposes only.)

Definition at line 156 of file Kokkos_DummySparseKernelClass.hpp.


Member Function Documentation

RCP<Node> Kokkos::CrsGraphHostCompute< Ordinal, Node, KokkosExamples::DummySparseKernel< Node > >::getNode ( ) const [inherited]

Node accessor.

size_t Kokkos::CrsGraphHostCompute< Ordinal, Node, KokkosExamples::DummySparseKernel< Node > >::getNumRows ( ) const [inherited]

Return the number of rows in the graph.

size_t Kokkos::CrsGraphHostCompute< Ordinal, Node, KokkosExamples::DummySparseKernel< Node > >::getNumEntries ( ) const [inherited]

Return the number of entries in the graph.

bool Kokkos::CrsGraphHostCompute< Ordinal, Node, KokkosExamples::DummySparseKernel< Node > >::isEmpty ( ) const [inherited]

Indicates that the graph is filled, but empty.

bool Kokkos::CrsGraphHostCompute< Ordinal, Node, KokkosExamples::DummySparseKernel< Node > >::isFinalized ( ) const [inherited]

Indicatest that the graph has been finalized.

bool Kokkos::CrsGraphHostCompute< Ordinal, Node, KokkosExamples::DummySparseKernel< Node > >::is1DStructure ( ) const [inherited]

Indicate that the structure is 1D. It will never be the case that both is1DStructure() and is2DStructure() return true.

bool Kokkos::CrsGraphHostCompute< Ordinal, Node, KokkosExamples::DummySparseKernel< Node > >::is2DStructure ( ) const [inherited]

Indicate that the structure is 2D. It will never be the case that both is1DStructure() and is2DStructure() return true.

bool Kokkos::CrsGraphHostCompute< Ordinal, Node, KokkosExamples::DummySparseKernel< Node > >::isOptimized ( ) const [inherited]

Indicate that the stucture is optimized.

void Kokkos::CrsGraphHostCompute< Ordinal, Node, KokkosExamples::DummySparseKernel< Node > >::set1DStructure ( ArrayRCP< Ordinal >  inds,
ArrayRCP< size_t >  rowBegs,
ArrayRCP< size_t >  rowEnds 
) [inherited]

Submit the indices and offset for 1D storage.

Postcondition:
is1DStructure() == true
void Kokkos::CrsGraphHostCompute< Ordinal, Node, KokkosExamples::DummySparseKernel< Node > >::set2DStructure ( ArrayRCP< ArrayRCP< Ordinal > >  inds,
ArrayRCP< size_t >  numEntriesPerRow 
) [inherited]

Submit the indices for 2D storage.

Postcondition:
is2DStructure() == true
void Kokkos::CrsGraphHostCompute< Ordinal, Node, KokkosExamples::DummySparseKernel< Node > >::get1DStructure ( ArrayRCP< Ordinal > &  inds,
ArrayRCP< size_t > &  rowBegs,
ArrayRCP< size_t > &  rowEnds 
) [inherited]

Retrieve the structure for 1D storage.

If is1DStructure() == false, then

Postcondition:
inds == rowBegs == rowEnds == null

Otherwise,

Postcondition:
indices for row r are inds[r], where $r \in [b,e)$, where $b = rowBegs[r]$ and $e = rowEnds[r]$
rowBegs has getNumRows()+1 entries; the last entry is inds.size()
rowEnds has getNumRows() entries
void Kokkos::CrsGraphHostCompute< Ordinal, Node, KokkosExamples::DummySparseKernel< Node > >::get2DStructure ( ArrayRCP< ArrayRCP< Ordinal > > &  inds,
ArrayRCP< size_t > &  numEntriesPerRow 
) [inherited]

Retrieve the structure for 2D storage.

If is2DStructure() == false, then

Postcondition:
inds == numEntriesPerRow == null
void Kokkos::CrsGraphHostCompute< Ordinal, Node, KokkosExamples::DummySparseKernel< Node > >::finalize ( bool  OptimizeStorage) [inherited]

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

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
void Kokkos::CrsGraphHostCompute< Ordinal, Node, KokkosExamples::DummySparseKernel< Node > >::finalize ( bool  OptimizeStorage,
ArrayRCP< ArrayRCP< Scalar > > &  values2D,
ArrayRCP< Scalar > &  values1D 
) [inherited]
Parameters:
[in]OptimizeStoragePermit the graph to reallocate storage on the host in order to provide optimal storage and/or performance.
in/out]values2D 2D-structured matrix values. Required to be non-null if is2DStructure() is true. Set to null if OptimizeStorage is true.
in/out]values1D 1D-structured matrix values. Required to be non-null if is1DStructure() is true. Allocated if OptimizeStorage is true.
Postcondition:
if OptimizeStorage == true or already is2DStructure(), then is2DStructure() == true.
virtual void Kokkos::CrsGraphHostCompute< Ordinal, Node, KokkosExamples::DummySparseKernel< Node > >::clear ( ) [virtual, inherited]

Release data associated with this graph.


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