![]() |
cuLite v0.3.1
A lite CUDA C++ Interface
|
Efficient products between matrices and vectors. More...
Functions | |
| template<typename T_Scalar> | |
| void | culite::ops::mult (T_Scalar alpha, op_t opA, const dns::XxMatrix< T_Scalar > &A, const dns::XxVector< T_Scalar > &x, T_Scalar beta, dns::XxVector< T_Scalar > &y, CuBlasHandler &cuBlasHandler=globalCuBlasHandler()) |
| Updates a vector with a matrix-vector product. | |
| template<typename T_Int, typename T_Scalar> | |
| void | culite::ops::mult (T_Scalar alpha, op_t opA, const csr::XxMatrix< T_Int, T_Scalar > &A, const dns::XxVector< T_Scalar > &x, T_Scalar beta, dns::XxVector< T_Scalar > &y, CuSparseHandler &cuSparseHandler=globalCuSparseHandler()) |
| Updates a vector with a matrix-vector product. | |
| template<typename T_Int, typename T_Scalar> | |
| void | culite::ops::mult (T_Scalar alpha, op_t opA, const csc::XxMatrix< T_Int, T_Scalar > &A, const dns::XxVector< T_Scalar > &x, T_Scalar beta, dns::XxVector< T_Scalar > &y, CuSparseHandler &cuSparseHandler=globalCuSparseHandler()) |
| Updates a vector with a matrix-vector product. | |
Efficient products between matrices and vectors.
| void culite::ops::mult | ( | T_Scalar | alpha, |
| op_t | opA, | ||
| const dns::XxMatrix< T_Scalar > & | A, | ||
| const dns::XxVector< T_Scalar > & | x, | ||
| T_Scalar | beta, | ||
| dns::XxVector< T_Scalar > & | y, | ||
| CuBlasHandler & | cuBlasHandler = globalCuBlasHandler() ) |
Updates a vector with a matrix-vector product.
Performs the operation \( y = \beta \cdot y + \alpha \cdot op_A(A) \cdot x \).
| T_Scalar | The scalar type (e.g., float, double, complex). |
| [in] | alpha | The scaling coefficient. |
| [in] | opA | The operation to be performed for matrix A. If A is symmetric or hermitian, opA is ignored. |
| [in] | A | The input matrix. |
| [in] | x | The input vector. |
| [in] | beta | The scaling coefficient for y. |
| [in,out] | y | The vector to be updated. |
| [in] | cuBlasHandler | The cuBLAS handler for GPU operations (defaults to global handler). |
| void culite::ops::mult | ( | T_Scalar | alpha, |
| op_t | opA, | ||
| const csr::XxMatrix< T_Int, T_Scalar > & | A, | ||
| const dns::XxVector< T_Scalar > & | x, | ||
| T_Scalar | beta, | ||
| dns::XxVector< T_Scalar > & | y, | ||
| CuSparseHandler & | cuSparseHandler = globalCuSparseHandler() ) |
Updates a vector with a matrix-vector product.
Performs the operation \( y = \beta \cdot y + \alpha \cdot op_A(A) \cdot x \).
| T_Int | The integer type for indexing. |
| T_Scalar | The scalar type (e.g., float, double, complex). |
| [in] | alpha | The scaling coefficient. |
| [in] | opA | The operation to be performed for matrix A. If A is symmetric or hermitian, opA is ignored. |
| [in] | A | The input matrix. |
| [in] | x | The input vector. |
| [in] | beta | The scaling coefficient for y. |
| [in,out] | y | The vector to be updated. |
| [in] | cuSparseHandler | The cuSPARSE handler for GPU operations (defaults to global handler). |
| void culite::ops::mult | ( | T_Scalar | alpha, |
| op_t | opA, | ||
| const csc::XxMatrix< T_Int, T_Scalar > & | A, | ||
| const dns::XxVector< T_Scalar > & | x, | ||
| T_Scalar | beta, | ||
| dns::XxVector< T_Scalar > & | y, | ||
| CuSparseHandler & | cuSparseHandler = globalCuSparseHandler() ) |
Updates a vector with a matrix-vector product.
Performs the operation \( y = \beta \cdot y + \alpha \cdot op_A(A) \cdot x \).
| T_Int | The integer type for indexing. |
| T_Scalar | The scalar type (e.g., float, double, complex). |
| [in] | alpha | The scaling coefficient. |
| [in] | opA | The operation to be performed for matrix A. If A is symmetric or hermitian, opA is ignored. |
| [in] | A | The input matrix. |
| [in] | x | The input vector. |
| [in] | beta | The scaling coefficient for y. |
| [in,out] | y | The vector to be updated. |
| [in] | cuSparseHandler | The cuSPARSE handler for GPU operations (defaults to global handler). |