JCublasJava/src/main/java/jcuda/jcublas/JCublas.java
public static void cublasDgemv(char trans, int m, int n, double alpha, Pointer A, int lda, Pointer x, int incx, double beta, Pointer y, int incy)
    {
        cublasDgemvNative(trans, m, n, alpha, A, lda, x, incx, beta, y, incy);
        checkResultBLAS();
    }
public static void cublasDgemv(char trans, int m, int n, double alpha, Pointer A, int lda, Pointer x, int incx, double beta, Pointer y, int incy)
    {
        cublasDgemvNative(trans, m, n, alpha, A, lda, x, incx, beta, y, incy);
        checkResultBLAS();
    }
public static void cublasDgemv ( char trans , int m , int n , double alpha , Pointer A , int lda , Pointer x , int incx , double beta , Pointer y , int incy ) { cublasDgemvNative ( trans , m , n , alpha , A , lda , x , incx , beta , y , incy ) ; checkResultBLAS ( ) ; }
<pre>
cublasDgemv (char trans, int m, int n, double alpha, const double *A,
int lda, const double *x, int incx, double beta, double *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 double precision scalars, x and y are double
precision vectors, and A is an m x n matrix consisting of double 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  double precision scalar multiplier applied to op(A).
A      double 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      double 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   double precision scalar multiplier applied to vector y. If beta
is zero, y is not read.
y      double 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/dgemv.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_ARCH_MISMATCH    if invoked on device without DP support
CUBLAS_STATUS_EXECUTION_FAILED if function failed to launch on GPU
</pre>
<pre > cublasDgemv ( char trans int m int n double alpha const double * A int lda const double * x int incx double beta double * y int incy )