Stokhos Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions
cusp::detail::device Namespace Reference

Functions

template<typename Matrix , typename Vector1 , typename Vector2 >
void MVmultiply (const Matrix &A, const Vector1 &B, Vector2 &C, cusp::sparse_format, cusp::array2d_format, cusp::array2d_format)
 
template<typename Matrix , typename Vector1 , typename Vector2 >
void OVmultiply (const Matrix &A, const Vector1 &B, Vector2 &C, cusp::sparse_format, cusp::array2d_format, cusp::array2d_format)
 
template<typename Matrix1 , typename Matrix2 , typename Matrix3 >
void MVmultiply (const Matrix1 &A, const Matrix2 &B, Matrix3 &C, cusp::array2d_format, cusp::array1d_format, cusp::array2d_format)
 
template<typename MV , typename MV1 , typename MV2 >
void MVdot (const MV &A, const MV1 &B, MV2 &C)
 
template<typename ValueType , typename MV1 , typename MV2 >
void axpby (const ValueType &A, const MV1 &X, const ValueType &B, const MV1 &Y, MV2 &Z)
 
template<typename Matrix , typename MatrixOrVector1 , typename MatrixOrVector2 >
void MVmultiply (const Matrix &A, const MatrixOrVector1 &B, MatrixOrVector2 &C)
 
template<typename Matrix , typename MatrixOrVector1 , typename MatrixOrVector2 >
void OVmultiply (const Matrix &A, const MatrixOrVector1 &B, MatrixOrVector2 &C)
 
template<typename IndexType , typename ValueType >
__global__ void row_axpby_kernel (const ValueType a, const ValueType b, const IndexType num_rows, const IndexType num_cols, const ValueType *x, const ValueType *y, ValueType *z)
 
template<typename IndexType , typename ValueType >
__global__ void col_axpby_kernel (const ValueType a, const ValueType b, const IndexType num_rows, const IndexType num_cols, const ValueType *x, const ValueType *y, ValueType *z)
 
template<typename IndexType , typename ValueType >
__global__ void row_spmm_dense_diag_kernel (const IndexType Anum_rows, const IndexType Anum_cols, const ValueType *Aval, const ValueType *x, ValueType *y)
 
template<typename IndexType , typename ValueType >
__global__ void col_spmm_dense_diag_kernel (const IndexType Anum_rows, const IndexType Anum_cols, const ValueType *Aval, const ValueType *x, ValueType *y)
 
template<typename IndexType , typename ValueType >
__global__ void row_spmm_MVdot_kernel (IndexType ROWS_PER_BLOCK, const IndexType Anum_rows, const IndexType Anum_cols, const ValueType *Aval, const ValueType *x, ValueType *temp)
 
template<typename IndexType , typename ValueType >
__global__ void col_spmm_MVdot_kernel (const IndexType Anum_rows, const IndexType Anum_cols, const ValueType *Aval, const ValueType *x, ValueType *temp)
 
template<typename IndexType , typename ValueType >
__global__ void row_reduce_kernel (const IndexType num_rows, const IndexType num_cols, const ValueType *temp, ValueType *y)
 
template<typename IndexType , typename ValueType >
__global__ void col_reduce_kernel (const IndexType num_rows, const IndexType num_cols, const ValueType *temp, ValueType *y)
 
template<typename Vector1 , typename Vector2 , typename Vector3 >
void __spmm_MVdot (const int numRHS, const Vector1 &A, const Vector2 &x, Vector3 &y, cusp::row_major)
 
template<typename Vector1 , typename Vector2 , typename Vector3 >
void __spmm_MVdot (const int numRHS, const Vector1 &A, const Vector2 &x, Vector3 &y, cusp::column_major)
 
template<typename Vector1 , typename Vector2 , typename Vector3 >
void __spmm_dense_diag (const Vector1 &A, const Vector2 &x, Vector3 &y, cusp::row_major)
 
template<typename Vector1 , typename Vector2 , typename Vector3 >
void __spmm_dense_diag (const Vector1 &A, const Vector2 &x, Vector3 &y, cusp::column_major)
 
template<typename ValueType , typename Vector1 , typename Vector2 >
void __spmm_axpby (const ValueType &a, const Vector1 &x, const ValueType &b, const Vector1 &y, Vector2 &z, cusp::row_major)
 
template<typename ValueType , typename Vector1 , typename Vector2 >
void __spmm_axpby (const ValueType &a, const Vector1 &x, const ValueType &b, const Vector1 &y, Vector2 &z, cusp::column_major)
 
template<typename Vector1 , typename Vector2 , typename Vector3 >
void spmm_MVdot (const Vector1 &A, const Vector2 &x, Vector3 &y)
 
template<typename Vector1 , typename Vector2 , typename Vector3 >
void spmm_dense_diag (const Vector1 &A, const Vector2 &x, Vector3 &y)
 
template<typename ValueType , typename Vector1 , typename Vector2 >
void spmm_axpby (const ValueType &a, const Vector1 &x, const ValueType &b, const Vector1 &y, Vector2 &z)
 
template<typename IndexType , typename ValueType >
__global__ void row_spmm_csr_scalar_kernel (const IndexType Anum_rows, const IndexType xnum_row, const IndexType xnum_cols, const IndexType *Ar, const IndexType *Ac, const ValueType *Aval, const ValueType *x, ValueType *y)
 
template<typename IndexType , typename ValueType >
__global__ void column_spmm_csr_scalar_kernel (const IndexType Anum_rows, const IndexType xnum_rows, const IndexType xnum_cols, const IndexType *Ar, const IndexType *Ac, const ValueType *Aval, const ValueType *x, ValueType *y)
 
template<typename Matrix1 , typename Vector2 , typename Vector3 >
void __spmm_csr_scalar (const Matrix1 &A, const Vector2 &x, Vector3 &y, cusp::row_major)
 
template<typename Matrix1 , typename Vector2 , typename Vector3 >
void __spmm_csr_scalar (const Matrix1 &A, const Vector2 &x, Vector3 &y, cusp::column_major)
 
template<typename Matrix1 , typename Vector2 , typename Vector3 >
void spmm_csr_scalar (const Matrix1 &A, const Vector2 &x, Vector3 &y)
 
template<typename IndexType , typename ValueType , unsigned MAX_NNZ_PER_ROW>
__global__ void spmm_csr_vector_kernel_row (const IndexType Anum_rows, const IndexType xnum_rows, const IndexType xnum_cols, const IndexType *Ar, const IndexType *Ac, const ValueType *Aval, const ValueType *x, ValueType *y)
 
template<typename Matrix , typename Vector2 , typename Vector3 >
void __spmm_csr_vector (const Matrix &A, const Vector2 &x, Vector3 &y, cusp::row_major)
 
template<typename IndexType , typename ValueType , unsigned int VECTORS_PER_BLOCK, unsigned int THREADS_PER_VECTOR>
__global__ void spmm_csr_vector_kernel_col (const IndexType Anum_rows, const IndexType xnum_rows, const IndexType xnum_cols, const IndexType *Ap, const IndexType *Aj, const ValueType *Ax, const ValueType *x, ValueType *y)
 
template<bool UseCache, unsigned int THREADS_PER_VECTOR, typename Matrix , typename Vector2 , typename Vector3 >
void __spmm_csr_vector_col (const Matrix &A, const Vector2 &x, Vector3 &y)
 
template<typename Matrix , typename Vector2 , typename Vector3 >
void __spmm_csr_vector (const Matrix &A, const Vector2 &x, Vector3 &y, cusp::column_major)
 
template<typename Matrix , typename Vector2 , typename Vector3 >
void spmm_csr_vector (const Matrix &A, const Vector2 &x, Vector3 &y)
 

Function Documentation

template<typename Matrix , typename Vector1 , typename Vector2 >
void cusp::detail::device::MVmultiply ( const Matrix &  A,
const Vector1 &  B,
Vector2 &  C,
cusp::sparse_format  ,
cusp::array2d_format  ,
cusp::array2d_format   
)

Definition at line 52 of file detail/device/MVmultiply.h.

template<typename Matrix , typename Vector1 , typename Vector2 >
void cusp::detail::device::OVmultiply ( const Matrix &  A,
const Vector1 &  B,
Vector2 &  C,
cusp::sparse_format  ,
cusp::array2d_format  ,
cusp::array2d_format   
)

Definition at line 71 of file detail/device/MVmultiply.h.

template<typename Matrix1 , typename Matrix2 , typename Matrix3 >
void cusp::detail::device::MVmultiply ( const Matrix1 &  A,
const Matrix2 &  B,
Matrix3 &  C,
cusp::array2d_format  ,
cusp::array1d_format  ,
cusp::array2d_format   
)

Definition at line 90 of file detail/device/MVmultiply.h.

template<typename MV , typename MV1 , typename MV2 >
void cusp::detail::device::MVdot ( const MV &  A,
const MV1 &  B,
MV2 &  C 
)

Definition at line 110 of file detail/device/MVmultiply.h.

template<typename ValueType , typename MV1 , typename MV2 >
void cusp::detail::device::axpby ( const ValueType &  A,
const MV1 &  X,
const ValueType &  B,
const MV1 &  Y,
MV2 &  Z 
)

Definition at line 125 of file detail/device/MVmultiply.h.

template<typename Matrix , typename MatrixOrVector1 , typename MatrixOrVector2 >
void cusp::detail::device::MVmultiply ( const Matrix &  A,
const MatrixOrVector1 &  B,
MatrixOrVector2 &  C 
)

Definition at line 141 of file detail/device/MVmultiply.h.

template<typename Matrix , typename MatrixOrVector1 , typename MatrixOrVector2 >
void cusp::detail::device::OVmultiply ( const Matrix &  A,
const MatrixOrVector1 &  B,
MatrixOrVector2 &  C 
)

Definition at line 154 of file detail/device/MVmultiply.h.

template<typename IndexType , typename ValueType >
__global__ void cusp::detail::device::row_axpby_kernel ( const ValueType  a,
const ValueType  b,
const IndexType  num_rows,
const IndexType  num_cols,
const ValueType *  x,
const ValueType *  y,
ValueType *  z 
)

Definition at line 41 of file array2d.h.

template<typename IndexType , typename ValueType >
__global__ void cusp::detail::device::col_axpby_kernel ( const ValueType  a,
const ValueType  b,
const IndexType  num_rows,
const IndexType  num_cols,
const ValueType *  x,
const ValueType *  y,
ValueType *  z 
)

Definition at line 56 of file array2d.h.

template<typename IndexType , typename ValueType >
__global__ void cusp::detail::device::row_spmm_dense_diag_kernel ( const IndexType  Anum_rows,
const IndexType  Anum_cols,
const ValueType *  Aval,
const ValueType *  x,
ValueType *  y 
)

Definition at line 71 of file array2d.h.

template<typename IndexType , typename ValueType >
__global__ void cusp::detail::device::col_spmm_dense_diag_kernel ( const IndexType  Anum_rows,
const IndexType  Anum_cols,
const ValueType *  Aval,
const ValueType *  x,
ValueType *  y 
)

Definition at line 86 of file array2d.h.

template<typename IndexType , typename ValueType >
__global__ void cusp::detail::device::row_spmm_MVdot_kernel ( IndexType  ROWS_PER_BLOCK,
const IndexType  Anum_rows,
const IndexType  Anum_cols,
const ValueType *  Aval,
const ValueType *  x,
ValueType *  temp 
)

Definition at line 101 of file array2d.h.

template<typename IndexType , typename ValueType >
__global__ void cusp::detail::device::col_spmm_MVdot_kernel ( const IndexType  Anum_rows,
const IndexType  Anum_cols,
const ValueType *  Aval,
const ValueType *  x,
ValueType *  temp 
)

Definition at line 144 of file array2d.h.

template<typename IndexType , typename ValueType >
__global__ void cusp::detail::device::row_reduce_kernel ( const IndexType  num_rows,
const IndexType  num_cols,
const ValueType *  temp,
ValueType *  y 
)

Definition at line 182 of file array2d.h.

template<typename IndexType , typename ValueType >
__global__ void cusp::detail::device::col_reduce_kernel ( const IndexType  num_rows,
const IndexType  num_cols,
const ValueType *  temp,
ValueType *  y 
)

Definition at line 221 of file array2d.h.

template<typename Vector1 , typename Vector2 , typename Vector3 >
void cusp::detail::device::__spmm_MVdot ( const int  numRHS,
const Vector1 &  A,
const Vector2 &  x,
Vector3 &  y,
cusp::row_major   
)

Definition at line 256 of file array2d.h.

template<typename Vector1 , typename Vector2 , typename Vector3 >
void cusp::detail::device::__spmm_MVdot ( const int  numRHS,
const Vector1 &  A,
const Vector2 &  x,
Vector3 &  y,
cusp::column_major   
)

Definition at line 314 of file array2d.h.

template<typename Vector1 , typename Vector2 , typename Vector3 >
void cusp::detail::device::__spmm_dense_diag ( const Vector1 &  A,
const Vector2 &  x,
Vector3 &  y,
cusp::row_major   
)

Definition at line 360 of file array2d.h.

template<typename Vector1 , typename Vector2 , typename Vector3 >
void cusp::detail::device::__spmm_dense_diag ( const Vector1 &  A,
const Vector2 &  x,
Vector3 &  y,
cusp::column_major   
)

Definition at line 386 of file array2d.h.

template<typename ValueType , typename Vector1 , typename Vector2 >
void cusp::detail::device::__spmm_axpby ( const ValueType &  a,
const Vector1 &  x,
const ValueType &  b,
const Vector1 &  y,
Vector2 &  z,
cusp::row_major   
)

Definition at line 421 of file array2d.h.

template<typename ValueType , typename Vector1 , typename Vector2 >
void cusp::detail::device::__spmm_axpby ( const ValueType &  a,
const Vector1 &  x,
const ValueType &  b,
const Vector1 &  y,
Vector2 &  z,
cusp::column_major   
)

Definition at line 448 of file array2d.h.

template<typename Vector1 , typename Vector2 , typename Vector3 >
void cusp::detail::device::spmm_MVdot ( const Vector1 &  A,
const Vector2 &  x,
Vector3 &  y 
)

Definition at line 482 of file array2d.h.

template<typename Vector1 , typename Vector2 , typename Vector3 >
void cusp::detail::device::spmm_dense_diag ( const Vector1 &  A,
const Vector2 &  x,
Vector3 &  y 
)

Definition at line 493 of file array2d.h.

template<typename ValueType , typename Vector1 , typename Vector2 >
void cusp::detail::device::spmm_axpby ( const ValueType &  a,
const Vector1 &  x,
const ValueType &  b,
const Vector1 &  y,
Vector2 &  z 
)

Definition at line 504 of file array2d.h.

template<typename IndexType , typename ValueType >
__global__ void cusp::detail::device::row_spmm_csr_scalar_kernel ( const IndexType  Anum_rows,
const IndexType  xnum_row,
const IndexType  xnum_cols,
const IndexType *  Ar,
const IndexType *  Ac,
const ValueType *  Aval,
const ValueType *  x,
ValueType *  y 
)

Definition at line 43 of file csr.h.

template<typename IndexType , typename ValueType >
__global__ void cusp::detail::device::column_spmm_csr_scalar_kernel ( const IndexType  Anum_rows,
const IndexType  xnum_rows,
const IndexType  xnum_cols,
const IndexType *  Ar,
const IndexType *  Ac,
const ValueType *  Aval,
const ValueType *  x,
ValueType *  y 
)

Definition at line 79 of file csr.h.

template<typename Matrix1 , typename Vector2 , typename Vector3 >
void cusp::detail::device::__spmm_csr_scalar ( const Matrix1 &  A,
const Vector2 &  x,
Vector3 &  y,
cusp::row_major   
)

Definition at line 118 of file csr.h.

template<typename Matrix1 , typename Vector2 , typename Vector3 >
void cusp::detail::device::__spmm_csr_scalar ( const Matrix1 &  A,
const Vector2 &  x,
Vector3 &  y,
cusp::column_major   
)

Definition at line 145 of file csr.h.

template<typename Matrix1 , typename Vector2 , typename Vector3 >
void cusp::detail::device::spmm_csr_scalar ( const Matrix1 &  A,
const Vector2 &  x,
Vector3 &  y 
)

Definition at line 170 of file csr.h.

template<typename IndexType , typename ValueType , unsigned MAX_NNZ_PER_ROW>
__global__ void cusp::detail::device::spmm_csr_vector_kernel_row ( const IndexType  Anum_rows,
const IndexType  xnum_rows,
const IndexType  xnum_cols,
const IndexType *  Ar,
const IndexType *  Ac,
const ValueType *  Aval,
const ValueType *  x,
ValueType *  y 
)

Definition at line 139 of file csr_vector.h.

template<typename Matrix , typename Vector2 , typename Vector3 >
void cusp::detail::device::__spmm_csr_vector ( const Matrix &  A,
const Vector2 &  x,
Vector3 &  y,
cusp::row_major   
)

Definition at line 199 of file csr_vector.h.

template<typename IndexType , typename ValueType , unsigned int VECTORS_PER_BLOCK, unsigned int THREADS_PER_VECTOR>
__global__ void cusp::detail::device::spmm_csr_vector_kernel_col ( const IndexType  Anum_rows,
const IndexType  xnum_rows,
const IndexType  xnum_cols,
const IndexType *  Ap,
const IndexType *  Aj,
const ValueType *  Ax,
const ValueType *  x,
ValueType *  y 
)

Definition at line 268 of file csr_vector.h.

template<bool UseCache, unsigned int THREADS_PER_VECTOR, typename Matrix , typename Vector2 , typename Vector3 >
void cusp::detail::device::__spmm_csr_vector_col ( const Matrix &  A,
const Vector2 &  x,
Vector3 &  y 
)

Definition at line 435 of file csr_vector.h.

template<typename Matrix , typename Vector2 , typename Vector3 >
void cusp::detail::device::__spmm_csr_vector ( const Matrix &  A,
const Vector2 &  x,
Vector3 &  y,
cusp::column_major   
)

Definition at line 458 of file csr_vector.h.

template<typename Matrix , typename Vector2 , typename Vector3 >
void cusp::detail::device::spmm_csr_vector ( const Matrix &  A,
const Vector2 &  x,
Vector3 &  y 
)

Definition at line 483 of file csr_vector.h.