19 #include <cusp/format.h>
20 #include <cusp/csr_matrix.h>
21 #include <cusp/detail/functional.h>
40 template <
typename Matrix,
53 cudaDeviceSynchronize();
59 template <
typename Matrix,
72 cudaDeviceSynchronize();
78 template <
typename Matrix1,
90 cudaDeviceSynchronize();
98 template <
typename MV,
107 cudaDeviceSynchronize();
113 template <
typename ValueType,
116 void axpby(
const ValueType&
A,
const MV1& X,
const ValueType&
B,
122 cudaDeviceSynchronize();
129 template <
typename Matrix,
130 typename MatrixOrVector1,
131 typename MatrixOrVector2>
133 const MatrixOrVector1&
B,
137 typename Matrix::format(),
138 typename MatrixOrVector1::format(),
139 typename MatrixOrVector2::format());
142 template <
typename Matrix,
143 typename MatrixOrVector1,
144 typename MatrixOrVector2>
146 const MatrixOrVector1&
B,
150 typename Matrix::format(),
151 typename MatrixOrVector1::format(),
152 typename MatrixOrVector2::format());
void spmm_MVdot(const Vector1 &A, const Vector2 &x, Vector3 &y)
#define TEUCHOS_FUNC_TIME_MONITOR(FUNCNAME)
void MVmultiply(const Matrix &A, const Vector1 &B, Vector2 &C, cusp::sparse_format, cusp::array2d_format, cusp::array2d_format)
void spmm_csr_vector(const Matrix &A, const Vector2 &x, Vector3 &y)
void OVmultiply(const Matrix &A, const Vector1 &B, Vector2 &C, cusp::sparse_format, cusp::array2d_format, cusp::array2d_format)
void spmm_axpby(const ValueType &a, const Vector1 &x, const ValueType &b, const Vector1 &y, Vector2 &z)
void spmm_dense_diag(const Vector1 &A, const Vector2 &x, Vector3 &y)
void axpby(const ValueType &A, const MV1 &X, const ValueType &B, const MV1 &Y, MV2 &Z)
void MVdot(const MV &A, const MV1 &B, MV2 &C)