Kokkos Node API and Local Linear Algebra Kernels Version of the Day
Protected Member Functions
Kokkos::DefaultDeviceSparseOps< Scalar, Ordinal, Node > Class Template Reference

Default implementation of sparse matrix-vector multiplication and solve routines, for device-based nodes. More...

#include <Kokkos_DefaultSparseOps.hpp>

List of all members.

Public Member Functions

Constructors/Destructor
 DefaultDeviceSparseOps (const RCP< Node > &node)
 DefaultDeviceSparseOps constuctor with variable number of indices per row.
 ~DefaultDeviceSparseOps ()
 DefaultDeviceSparseOps Destructor.
Accessor routines.
RCP< Node > getNode () const
 Node accessor.
Initialization of structure
void initializeStructure (const CrsGraphDeviceCompute< Ordinal, Node, DefaultDeviceSparseOps< void, Ordinal, Node > > &graph)
 Initialize structure of matrix, using CrsGraphDeviceCompute.
void initializeValues (const CrsMatrixDeviceCompute< Scalar, Ordinal, Node, DefaultDeviceSparseOps< void, Ordinal, Node > > &matrix)
 Initialize values of matrix, using CrsMatrixDeviceCompute.
void clear ()
 Clear all matrix structure and values.
Computational methods
template<class DomainScalar , class RangeScalar >
void multiply (Teuchos::ETransp trans, RangeScalar alpha, const MultiVector< DomainScalar, Node > &X, MultiVector< RangeScalar, Node > &Y) const
 Applies the matrix to a MultiVector, overwriting Y.
template<class DomainScalar , class RangeScalar >
void multiply (Teuchos::ETransp trans, RangeScalar alpha, const MultiVector< DomainScalar, Node > &X, RangeScalar beta, MultiVector< RangeScalar, Node > &Y) const
 Applies the matrix to a MultiVector, accumulating into Y.
template<class DomainScalar , class RangeScalar >
void solve (Teuchos::ETransp trans, Teuchos::EUplo uplo, Teuchos::EDiag diag, const MultiVector< DomainScalar, Node > &Y, MultiVector< RangeScalar, Node > &X) const
 Solves the matrix for a given set of right-hand-sides.

Protected Member Functions

 DefaultDeviceSparseOps (const DefaultDeviceSparseOps &source)
 Copy constructor (protected and unimplemented)

Detailed Description

template<class Scalar, class Ordinal, class Node>
class Kokkos::DefaultDeviceSparseOps< Scalar, Ordinal, Node >

Default implementation of sparse matrix-vector multiplication and solve routines, for device-based nodes.

Definition at line 563 of file Kokkos_DefaultSparseOps.hpp.


Constructor & Destructor Documentation

template<class Scalar , class Ordinal , class Node >
Kokkos::DefaultDeviceSparseOps< Scalar, Ordinal, Node >::DefaultDeviceSparseOps ( const RCP< Node > &  node)

DefaultDeviceSparseOps constuctor with variable number of indices per row.

Definition at line 646 of file Kokkos_DefaultSparseOps.hpp.

template<class Scalar , class Ordinal , class Node >
Kokkos::DefaultDeviceSparseOps< Scalar, Ordinal, Node >::~DefaultDeviceSparseOps ( )

DefaultDeviceSparseOps Destructor.

Definition at line 653 of file Kokkos_DefaultSparseOps.hpp.

template<class Scalar , class Ordinal , class Node >
Kokkos::DefaultDeviceSparseOps< Scalar, Ordinal, Node >::DefaultDeviceSparseOps ( const DefaultDeviceSparseOps< Scalar, Ordinal, Node > &  source) [protected]

Copy constructor (protected and unimplemented)


Member Function Documentation

template<class Scalar , class Ordinal , class Node >
RCP< Node > Kokkos::DefaultDeviceSparseOps< Scalar, Ordinal, Node >::getNode ( ) const

Node accessor.

Definition at line 657 of file Kokkos_DefaultSparseOps.hpp.

template<class Scalar , class Ordinal , class Node >
void Kokkos::DefaultDeviceSparseOps< Scalar, Ordinal, Node >::initializeStructure ( const CrsGraphDeviceCompute< Ordinal, Node, DefaultDeviceSparseOps< void, Ordinal, Node > > &  graph)

Initialize structure of matrix, using CrsGraphDeviceCompute.

Definition at line 673 of file Kokkos_DefaultSparseOps.hpp.

template<class Scalar , class Ordinal , class Node >
void Kokkos::DefaultDeviceSparseOps< Scalar, Ordinal, Node >::initializeValues ( const CrsMatrixDeviceCompute< Scalar, Ordinal, Node, DefaultDeviceSparseOps< void, Ordinal, Node > > &  matrix)

Initialize values of matrix, using CrsMatrixDeviceCompute.

Definition at line 691 of file Kokkos_DefaultSparseOps.hpp.

template<class Scalar , class Ordinal , class Node >
void Kokkos::DefaultDeviceSparseOps< Scalar, Ordinal, Node >::clear ( )

Clear all matrix structure and values.

Definition at line 662 of file Kokkos_DefaultSparseOps.hpp.

template<class Scalar , class Ordinal , class Node >
template<class DomainScalar , class RangeScalar >
void Kokkos::DefaultDeviceSparseOps< Scalar, Ordinal, Node >::multiply ( Teuchos::ETransp  trans,
RangeScalar  alpha,
const MultiVector< DomainScalar, Node > &  X,
MultiVector< RangeScalar, Node > &  Y 
) const

Applies the matrix to a MultiVector, overwriting Y.

Definition at line 774 of file Kokkos_DefaultSparseOps.hpp.

template<class Scalar , class Ordinal , class Node >
template<class DomainScalar , class RangeScalar >
void Kokkos::DefaultDeviceSparseOps< Scalar, Ordinal, Node >::multiply ( Teuchos::ETransp  trans,
RangeScalar  alpha,
const MultiVector< DomainScalar, Node > &  X,
RangeScalar  beta,
MultiVector< RangeScalar, Node > &  Y 
) const

Applies the matrix to a MultiVector, accumulating into Y.

Definition at line 836 of file Kokkos_DefaultSparseOps.hpp.

template<class Scalar , class Ordinal , class Node >
template<class DomainScalar , class RangeScalar >
void Kokkos::DefaultDeviceSparseOps< Scalar, Ordinal, Node >::solve ( Teuchos::ETransp  trans,
Teuchos::EUplo  uplo,
Teuchos::EDiag  diag,
const MultiVector< DomainScalar, Node > &  Y,
MultiVector< RangeScalar, Node > &  X 
) const

Solves the matrix for a given set of right-hand-sides.

Definition at line 707 of file Kokkos_DefaultSparseOps.hpp.


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