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

Access to sparse matrix multiply and solve using the CUSP project. More...

#include <Kokkos_CuspSparseOps.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
 CUSPSparseOps (const RCP< Node > &node)
 CUSPSparseOps constuctor with variable number of indices per row.
 ~CUSPSparseOps ()
 CUSPSparseOps Destructor.
Accessor routines.
RCP< Node > getNode () const
 Node accessor.
Initialization of structure
void initializeStructure (const CrsGraphHostCompute< Ordinal, Node, CUSPSparseOps< void, Ordinal, Node > > &graph)
 Initialize structure of matrix, using CrsGraphHostCompute.
void initializeValues (const CrsMatrixHostCompute< Scalar, Ordinal, Node, CUSPSparseOps< 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

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

Detailed Description

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

Access to sparse matrix multiply and solve using the CUSP project.

Definition at line 67 of file Kokkos_CuspSparseOps.hpp.


Constructor & Destructor Documentation

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

CUSPSparseOps constuctor with variable number of indices per row.

Definition at line 160 of file Kokkos_CuspSparseOps.hpp.

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

CUSPSparseOps Destructor.

Definition at line 167 of file Kokkos_CuspSparseOps.hpp.

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

Copy constructor (protected and unimplemented)


Member Function Documentation

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

Node accessor.

Definition at line 171 of file Kokkos_CuspSparseOps.hpp.

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

Initialize structure of matrix, using CrsGraphHostCompute.

Definition at line 193 of file Kokkos_CuspSparseOps.hpp.

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

Initialize values of matrix, using CrsMatrixHostCompute.

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

Clear all matrix structure and values.

Definition at line 176 of file Kokkos_CuspSparseOps.hpp.

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

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

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


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