#include <Kokkos_PackedSparseMultiply.hpp>
Inheritance diagram for Kokkos::PackedSparseMultiply< OrdinalType, ScalarType >:


Public Member Functions | |
Constructors/Destructor | |
| PackedSparseMultiply () | |
| PackedSparseMultiply constuctor with variable number of indices per row. | |
| PackedSparseMultiply (const PackedSparseMultiply &source) | |
| Copy constructor. | |
| virtual | ~PackedSparseMultiply () |
| PackedSparseMultiply Destructor. | |
Abstract Kokkos::CisMatrix Interface Initialization Methods | |
| virtual int | initializeStructure (const CisMatrix< OrdinalType, ScalarType > &A, bool willKeepStructure=false) |
| Initialize structure of matrix. | |
| virtual int | initializeValues (const CisMatrix< OrdinalType, ScalarType > &A, bool willKeepValues=false, bool checkStructure=false) |
| Initialize values of matrix. | |
Computational methods | |
| virtual int | apply (const Vector< OrdinalType, ScalarType > &x, Vector< OrdinalType, ScalarType > &y, bool transA=false, bool conjA=false) const |
| Returns the result of a Kokkos_PackedSparseMultiply multiplied by a vector x in y. | |
| virtual int | apply (const MultiVector< OrdinalType, ScalarType > &x, MultiVector< OrdinalType, ScalarType > &y, bool transA=false, bool conjA=false) const |
| Returns the result of a Kokkos_PackedSparseMultiply multiplied by multiple vectors in x, results in y. | |
Operator attribute access methods | |
| virtual bool | getCanUseStructure () const |
| Returns false for this implementation. | |
| virtual bool | getCanUseValues () const |
| Returns false for this implementation. | |
|
virtual const CisMatrix< OrdinalType, ScalarType > & | getMatrix () const |
| Returns a reference to the most recent Kokkos::CisMatrix that was passed into the this object. | |
Protected Types | |
| typedef EntryStruct | Entry |
Protected Member Functions | |
| void | copyEntries () |
| void | deleteStructureAndValues () |
Protected Attributes | |
| CisMatrix< OrdinalType, ScalarType > * | matrixForStructure_ |
| CisMatrix< OrdinalType, ScalarType > * | matrixForValues_ |
| bool | isRowOriented_ |
| bool | haveStructure_ |
| bool | haveValues_ |
| bool | hasUnitDiagonal_ |
| OrdinalType | numRows_ |
| OrdinalType | numCols_ |
| OrdinalType | numRC_ |
| OrdinalType | numEntries_ |
| OrdinalType * | profile_ |
| double | costOfMatVec_ |
| Entry * | allEntries_ |
The Kokkos::PackedSparseMultiply provide basic functionality for computing sparse matrix times vector, or sparse matrix times multivector operations. This class is templated on the ordinal (integer) and scalar (floating point) types, so it can compute using any reasonable data type.
Constructing Kokkos::PackedSparseMultiply objects
Constructing Kokkos::PackedSparseMultiply objects is a multi-step process. The basic steps are as follows:
Counting Floating Point Operations
Each Kokkos::PackedSparseMultiply object keeps track of the number of floating point operations performed using the specified object as the this argument to the function. The getFlops() function returns this number as a double precision number. Using this information, in conjunction with the Kokkos::Time class, one can get accurate performance numbers. The resetFlops() function resets the floating point counter.
|
||||||||||||||||||||||||
|
Returns the result of a Kokkos_PackedSparseMultiply multiplied by multiple vectors in x, results in y.
Implements Kokkos::SparseOperation< OrdinalType, ScalarType >. |
|
||||||||||||||||||||||||
|
Returns the result of a Kokkos_PackedSparseMultiply multiplied by a vector x in y.
Implements Kokkos::SparseOperation< OrdinalType, ScalarType >. |
|
|||||||||
|
Returns false for this implementation. This implementation will not use the user's copy of the matrix structure. Implements Kokkos::SparseOperation< OrdinalType, ScalarType >. |
|
|||||||||
|
Returns false for this implementation. This implementation will not use the user's copy of the matrix values. Implements Kokkos::SparseOperation< OrdinalType, ScalarType >. |
|
||||||||||||||||
|
Initialize structure of matrix. This interface supports matrices that implement the Kokkos::CisMatrix matrix interface.
Implements Kokkos::SparseOperation< OrdinalType, ScalarType >. |
|
||||||||||||||||||||
|
Initialize values of matrix. This interface supports matrices that implement the Kokkos::CisMatrix matrix interface.
Implements Kokkos::SparseOperation< OrdinalType, ScalarType >. |
1.3.9.1