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

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

#include <Kokkos_DefaultSparseOps.hpp>

List of all members.

Classes

struct  rebind
 Rebind struct, for specifying type information for a different scalar. More...

Public Types

Typedefs and structs
typedef Scalar ScalarType
typedef Ordinal OrdinalType
typedef Node NodeType

Public Member Functions

Constructors/Destructor
 DefaultHostSparseOps (const RCP< Node > &node)
 Constructor accepting and retaining a node object.
 ~DefaultHostSparseOps ()
 DefaultHostSparseOps Destructor.
Accessor routines.
RCP< Node > getNode () const
 Node accessor.
Initialization of structure
void initializeStructure (const CrsGraphHostCompute< Ordinal, Node, DefaultHostSparseOps< void, Ordinal, Node > > &graph)
 Initialize structure of matrix, using CrsGraphHostCompute.
void initializeValues (const CrsMatrixHostCompute< Scalar, Ordinal, Node, DefaultHostSparseOps< void, Ordinal, Node > > &matrix)
 Initialize values of matrix, using CrsMatrixHostCompute.
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

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

Detailed Description

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

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

Definition at line 54 of file Kokkos_DefaultSparseOps.hpp.


Constructor & Destructor Documentation

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

Constructor accepting and retaining a node object.

Definition at line 148 of file Kokkos_DefaultSparseOps.hpp.

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

DefaultHostSparseOps Destructor.

Definition at line 156 of file Kokkos_DefaultSparseOps.hpp.

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

Copy constructor (protected and unimplemented)


Member Function Documentation

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

Node accessor.

Definition at line 160 of file Kokkos_DefaultSparseOps.hpp.

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

Initialize structure of matrix, using CrsGraphHostCompute.

Definition at line 182 of file Kokkos_DefaultSparseOps.hpp.

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

Initialize values of matrix, using CrsMatrixHostCompute.

Definition at line 218 of file Kokkos_DefaultSparseOps.hpp.

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

Clear all matrix structure and values.

Definition at line 165 of file Kokkos_DefaultSparseOps.hpp.

template<class Scalar , class Ordinal , class Node >
template<class DomainScalar , class RangeScalar >
void Kokkos::DefaultHostSparseOps< 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 355 of file Kokkos_DefaultSparseOps.hpp.

template<class Scalar , class Ordinal , class Node >
template<class DomainScalar , class RangeScalar >
void Kokkos::DefaultHostSparseOps< 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 457 of file Kokkos_DefaultSparseOps.hpp.

template<class Scalar , class Ordinal , class Node >
template<class DomainScalar , class RangeScalar >
void Kokkos::DefaultHostSparseOps< 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 249 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