|
Kokkos Node API and Local Linear Algebra Kernels Version of the Day
|
Kokkos compressed-row sparse graph class.Default specialization is a host-bound CrsGraphHostCompute object. More...
#include <Kokkos_CrsGraph.hpp>

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. | |
| bool | is2DStructure () const |
| Indicate that the structure is 2D. | |
| 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) |
| 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) |
| Finalize storage for the graph. | |
| template<class Scalar > | |
| void | finalize (bool OptimizeStorage, ArrayRCP< ArrayRCP< Scalar > > &values2D, ArrayRCP< Scalar > &values1D) |
| Finalize storage for the graph with associated matrix values. | |
| virtual void | clear () |
| Release data associated with this graph. | |
Kokkos compressed-row sparse graph class.
Default specialization is a host-bound CrsGraphHostCompute object.
Definition at line 1082 of file Kokkos_CrsGraph.hpp.
| RCP< Node > Kokkos::CrsGraphHostCompute< Ordinal, Node, LocalMatOps >::getNode | ( | ) | const [inherited] |
Node accessor.
Definition at line 254 of file Kokkos_CrsGraph.hpp.
| size_t Kokkos::CrsGraphHostCompute< Ordinal, Node, LocalMatOps >::getNumRows | ( | ) | const [inherited] |
Return the number of rows in the graph.
Definition at line 260 of file Kokkos_CrsGraph.hpp.
| size_t Kokkos::CrsGraphHostCompute< Ordinal, Node, LocalMatOps >::getNumEntries | ( | ) | const [inherited] |
Return the number of entries in the graph.
Definition at line 266 of file Kokkos_CrsGraph.hpp.
| bool Kokkos::CrsGraphHostCompute< Ordinal, Node, LocalMatOps >::isEmpty | ( | ) | const [inherited] |
Indicates that the graph is filled, but empty.
Definition at line 272 of file Kokkos_CrsGraph.hpp.
| bool Kokkos::CrsGraphHostCompute< Ordinal, Node, LocalMatOps >::isFinalized | ( | ) | const [inherited] |
Indicatest that the graph has been finalized.
Definition at line 278 of file Kokkos_CrsGraph.hpp.
| bool Kokkos::CrsGraphHostCompute< Ordinal, Node, LocalMatOps >::is1DStructure | ( | ) | const [inherited] |
Indicate that the structure is 1D.
It will never be the case that both is1DStructure() and is2DStructure() return true.
Definition at line 284 of file Kokkos_CrsGraph.hpp.
| bool Kokkos::CrsGraphHostCompute< Ordinal, Node, LocalMatOps >::is2DStructure | ( | ) | const [inherited] |
Indicate that the structure is 2D.
It will never be the case that both is1DStructure() and is2DStructure() return true.
Definition at line 290 of file Kokkos_CrsGraph.hpp.
| bool Kokkos::CrsGraphHostCompute< Ordinal, Node, LocalMatOps >::isOptimized | ( | ) | const [inherited] |
Indicate that the stucture is optimized.
Definition at line 296 of file Kokkos_CrsGraph.hpp.
| void Kokkos::CrsGraphHostCompute< Ordinal, Node, LocalMatOps >::set1DStructure | ( | ArrayRCP< Ordinal > | inds, |
| ArrayRCP< size_t > | rowBegs, | ||
| ArrayRCP< size_t > | rowEnds | ||
| ) | [inherited] |
Submit the indices and offset for 1D storage.
Definition at line 324 of file Kokkos_CrsGraph.hpp.
| void Kokkos::CrsGraphHostCompute< Ordinal, Node, LocalMatOps >::set2DStructure | ( | ArrayRCP< ArrayRCP< Ordinal > > | inds, |
| ArrayRCP< size_t > | numEntriesPerRow | ||
| ) | [inherited] |
Submit the indices for 2D storage.
Definition at line 366 of file Kokkos_CrsGraph.hpp.
| void Kokkos::CrsGraphHostCompute< Ordinal, Node, LocalMatOps >::get1DStructure | ( | ArrayRCP< Ordinal > & | inds, |
| ArrayRCP< size_t > & | rowBegs, | ||
| ArrayRCP< size_t > & | rowEnds | ||
| ) | [inherited] |
Retrieve the structure for 1D storage.
If is1DStructure() == false, then
Otherwise,
r are inds[r], where
, where
and
Definition at line 302 of file Kokkos_CrsGraph.hpp.
| void Kokkos::CrsGraphHostCompute< Ordinal, Node, LocalMatOps >::get2DStructure | ( | ArrayRCP< ArrayRCP< Ordinal > > & | inds, |
| ArrayRCP< size_t > & | numEntriesPerRow | ||
| ) | [inherited] |
Retrieve the structure for 2D storage.
If is2DStructure() == false, then
Definition at line 313 of file Kokkos_CrsGraph.hpp.
| void Kokkos::CrsGraphHostCompute< Ordinal, Node, LocalMatOps >::finalize | ( | bool | OptimizeStorage | ) | [inherited] |
Finalize storage for the graph.
Instruct the graph to perform any necessary manipulation, including (optionally) optimizing the storage of the graph data.
| OptimizeStorage | [in] If true, permit the graph to reallocate storage on the host in order to provide optimal storage and/or performance. |
Reimplemented in Kokkos::CrsGraphDeviceCompute< Ordinal, Node, LocalMatOps >, Kokkos::FirstTouchHostCrsGraph< Ordinal, Node, LocalMatOps >, Kokkos::CrsGraphDeviceCompute< Ordinal, Node, DefaultDeviceSparseOps< S, Ordinal, Node > >, and Kokkos::CrsGraphDeviceCompute< Ordinal, Node, DefaultDeviceSparseOps< void, Ordinal, Node > >.
Definition at line 398 of file Kokkos_CrsGraph.hpp.
| void Kokkos::CrsGraphHostCompute< Ordinal, Node, LocalMatOps >::finalize | ( | bool | OptimizeStorage, |
| ArrayRCP< ArrayRCP< Scalar > > & | values2D, | ||
| ArrayRCP< Scalar > & | values1D | ||
| ) | [inherited] |
Finalize storage for the graph with associated matrix values.
This is typically called from a CrsMatrix. It performs the finalize for the graph and the matrix at the same time, so the matrix doesn't have to. In that case, the Scalar template parameter here should be the same as CrsMatrix's Scalar template parameter.
| OptimizeStorage | [in] If true, permit the graph to reallocate storage on the host in order to provide optimal storage and/or performance. |
| values2D | [in/out] 2D-structured matrix values. Required to be nonnull on input if is2DStructure() is true. Set to null on output if OptimizeStorage is true. |
| values1D | [in/out] 1D-structured matrix values. Required to be nonnull on input if is1DStructure() is true. Allocated on output if OptimizeStorage is true. |
Reimplemented in Kokkos::FirstTouchHostCrsGraph< Ordinal, Node, LocalMatOps >.
Definition at line 469 of file Kokkos_CrsGraph.hpp.
| void Kokkos::CrsGraphHostCompute< Ordinal, Node, LocalMatOps >::clear | ( | ) | [virtual, inherited] |
Release data associated with this graph.
Reimplemented in Kokkos::CrsGraphDeviceCompute< Ordinal, Node, LocalMatOps >, Kokkos::CrsGraphDeviceCompute< Ordinal, Node, DefaultDeviceSparseOps< S, Ordinal, Node > >, and Kokkos::CrsGraphDeviceCompute< Ordinal, Node, DefaultDeviceSparseOps< void, Ordinal, Node > >.
Definition at line 238 of file Kokkos_CrsGraph.hpp.
1.7.4