JCublasJava/src/main/java/jcuda/jcublas/JCublas.java
public static void cublasSgemv(char trans, int m, int n, float alpha, Pointer A, int lda, Pointer x, int incx, float beta, Pointer y, int incy)
    {
        cublasSgemvNative(trans, m, n, alpha, A, lda, x, incx, beta, y, incy);
        checkResultBLAS();
    }
public static void cublasSgemv(char trans, int m, int n, float alpha, Pointer A, int lda, Pointer x, int incx, float beta, Pointer y, int incy)
    {
        cublasSgemvNative(trans, m, n, alpha, A, lda, x, incx, beta, y, incy);
        checkResultBLAS();
    }
<pre>
cublasSgemv (char trans, int m, int n, float alpha, const float *A, int lda,
const float *x, int incx, float beta, float *y, int incy)

performs one of the matrix-vector operations

y = alpha * op(A) * x + beta * y,

where op(A) is one of

op(A) = A   or   op(A) = transpose(A)

where alpha and beta are single precision scalars, x and y are single
precision vectors, and A is an m x n matrix consisting of single precision
elements. Matrix A is stored in column major format, and lda is the leading
dimension of the two-dimensional array in which A is stored.

Input
-----
trans  specifies op(A). If transa = 'n' or 'N', op(A) = A. If trans =
trans = 't', 'T', 'c', or 'C', op(A) = transpose(A)
m      specifies the number of rows of the matrix A. m must be at least
zero.
n      specifies the number of columns of the matrix A. n must be at least
zero.
alpha  single precision scalar multiplier applied to op(A).
A      single precision array of dimensions (lda, n) if trans = 'n' or
'N'), and of dimensions (lda, m) otherwise. lda must be at least
max(1, m) and at least max(1, n) otherwise.
lda    leading dimension of two-dimensional array used to store matrix A
x      single precision array of length at least (1 + (n - 1) * abs(incx))
when trans = 'N' or 'n' and at least (1 + (m - 1) * abs(incx))
otherwise.
incx   specifies the storage spacing between elements of x. incx must not
be zero.
beta   single precision scalar multiplier applied to vector y. If beta
is zero, y is not read.
y      single precision array of length at least (1 + (m - 1) * abs(incy))
when trans = 'N' or 'n' and at least (1 + (n - 1) * abs(incy))
otherwise.
incy   specifies the storage spacing between elements of x. incx must not
be zero.

Output
------
y      updated according to alpha * op(A) * x + beta * y

Reference: http://www.netlib.org/blas/sgemv.f

Error status for this function can be retrieved via cublasGetError().

Error Status
------------
CUBLAS_STATUS_NOT_INITIALIZED  if CUBLAS library has not been initialized
CUBLAS_STATUS_INVALID_VALUE    if m or n are < 0, or if incx or incy == 0
CUBLAS_STATUS_EXECUTION_FAILED if function failed to launch on GPU
</pre>