aoclsparse_?diamv() - 5.2 English - 68552

AOCL API Guide (68552)

Document ID
68552
Release Date
2025-12-29
Version
5.2 English
aoclsparse_status aoclsparse_sdiamv(aoclsparse_operation trans, const float *alpha, aoclsparse_int m, aoclsparse_int n, aoclsparse_int nnz, const float *dia_val, const aoclsparse_int *dia_offset, aoclsparse_int dia_num_diag, const aoclsparse_mat_descr descr, const float *x, const float *beta, float *y)#
aoclsparse_status aoclsparse_ddiamv(aoclsparse_operation trans, const double *alpha, aoclsparse_int m, aoclsparse_int n, aoclsparse_int nnz, const double *dia_val, const aoclsparse_int *dia_offset, aoclsparse_int dia_num_diag, const aoclsparse_mat_descr descr, const double *x, const double *beta, double *y)#

Real single and double precision sparse matrix vector product using DIA storage format.

aoclsparse_?diamv multiplies the scalar \(\alpha\) with a sparse \(m \times n\) matrix, defined in DIA 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 matrix.

  • n[in] number of columns of the matrix.

  • nnz[in] number of non-zero entries of the matrix.

  • descr[in] descriptor of the sparse DIA matrix.

  • dia_val[in] array that contains the elements of the matrix. Padded elements should be zero.

  • dia_offset[in] array that contains the offsets of each diagonal of the matrix.

  • dia_num_diag[in] number of diagonals in the matrix.

  • x[in] array of n elements ( \(op(A) = A\)) or m elements ( \(op(A) = A^T\) or \(op(A) = A^H\)).

  • beta[in] scalar \(\beta\).

  • y[inout] array of m elements ( \(op(A) = A\)) or n elements ( \(op(A) = A^T\) or \(op(A) = A^H\)).

Return values: