Skip to main content

cusparseSgemvi

Function cusparseSgemvi 

Source
pub unsafe extern "C" fn cusparseSgemvi(
    handle: cusparseHandle_t,
    transA: cusparseOperation_t,
    m: c_int,
    n: c_int,
    alpha: *const f32,
    A: *const f32,
    lda: c_int,
    nnz: c_int,
    xVal: *const f32,
    xInd: *const c_int,
    beta: *const f32,
    y: *mut f32,
    idxBase: cusparseIndexBase_t,
    pBuffer: *mut c_void,
) -> cusparseStatus_t
Expand description

This function performs the matrix-vector operation

A is an $m \times n$ dense matrix and a sparse vector x that is defined in a sparse storage format by the two arrays xVal, xInd of length nnz, and y is a dense vector; $\alpha \;$ and $\beta \;$ are scalars; and: $$ \operatorname{op}(A) = \begin{cases} A & \text{if } trans = \text{CUSPARSE_OPERATION_NON_TRANSPOSE} \ A^T & \text{if } trans = \text{CUSPARSE_OPERATION_TRANSPOSE} \end{cases} $$

  • The routine supports asynchronous execution
  • The routine supports CUDA graph capture

The function cusparse<t>gemvi_bufferSize() returns the size of buffer used in cusparse<t>gemvi().