-
aoclsparse_status aoclsparse_sellmv(aoclsparse_operation trans, const float *alpha, aoclsparse_int m, aoclsparse_int n, aoclsparse_int nnz, const float *ell_val, const aoclsparse_int *ell_col_ind, aoclsparse_int ell_width, const aoclsparse_mat_descr descr, const float *x, const float *beta, float *y)#
-
aoclsparse_status aoclsparse_dellmv(aoclsparse_operation trans, const double *alpha, aoclsparse_int m, aoclsparse_int n, aoclsparse_int nnz, const double *ell_val, const aoclsparse_int *ell_col_ind, aoclsparse_int ell_width, const aoclsparse_mat_descr descr, const double *x, const double *beta, double *y)#
Real single and double precision sparse matrix vector product using ELL storage format.
aoclsparse_?ellmvmultiplies the scalar \(\alpha\) with a sparse \(m \times n\) matrix, defined in ELL storage format, and the dense vector \(x\) and adds the result to the dense vector \(y\) that is multiplied by the scalar \(\beta\), such that\[ y = \alpha \, op(A) \, x + \beta \, y, \]with\[\begin{split} op(A) = \left\{ \begin{array}{ll} A, & \text{if } {\bf\mathsf{trans}} = \text{aoclsparse}\_\text{operation}\_\text{none} \\ A^T, & \text{if } {\bf\mathsf{trans}} = \text{aoclsparse}\_\text{operation}\_\text{transpose} \\ A^H, & \text{if } {\bf\mathsf{trans}} = \text{aoclsparse}\_\text{operation}\_\text{conjugate}\_\text{transpose} \end{array} \right. \end{split}\]Note
Currently, only
trans= aoclsparse_operation_none is supported.- Parameters:
trans – [in] matrix operation type.
alpha – [in] scalar \(\alpha\).
m – [in] number of rows of the sparse ELL matrix.
n – [in] number of columns of the sparse ELL matrix.
nnz – [in] number of non-zero entries of the sparse ELL matrix.
descr – [in] descriptor of the sparse ELL matrix. Both, base-zero and base-one input arrays of ELL matrix are supported
ell_val – [in] array that contains the elements of the sparse ELL matrix. Padded elements should be zero.
ell_col_ind – [in] array that contains the column indices of the sparse ELL matrix. Padded column indices should be -1.
ell_width – [in] number of non-zero elements per row of the sparse ELL matrix.
x – [in] array of
nelements ( \(op(A) = A\)) ormelements ( \(op(A) = A^T\) or \(op(A) = A^H\)).beta – [in] scalar \(\beta\).
y – [inout] array of
melements ( \(op(A) = A\)) ornelements ( \(op(A) = A^T\) or \(op(A) = A^H\)).
- Return values:
aoclsparse_status_success – the operation completed successfully.
aoclsparse_status_invalid_size –
m,norell_widthis invalid.aoclsparse_status_invalid_pointer –
descr,alpha,ell_val,ell_col_ind,x,betaorypointer is invalid.aoclsparse_status_not_implemented –
transis not aoclsparse_operation_none, or aoclsparse_matrix_type is not aoclsparse_matrix_type_general.