JCublasJava/src/main/java/jcuda/jcublas/JCublas2.java
public static int cublasSetMatrixAsync(
        int rows,
        int cols,
        int elemSize,
        Pointer A,
        int lda,
        Pointer B,
        int ldb,
        cudaStream_t stream)
    {
        return checkResult(cublasSetMatrixAsyncNative(rows, cols, elemSize, A, lda, B, ldb, stream));
    }
public static int cublasSetMatrixAsync(
        int rows,
        int cols,
        int elemSize,
        Pointer A,
        int lda,
        Pointer B,
        int ldb,
        cudaStream_t stream)
    {
        return checkResult(cublasSetMatrixAsyncNative(rows, cols, elemSize, A, lda, B, ldb, stream));
    }
<pre>
cublasStatus_t
cublasSetMatrixAsync (int rows, int cols, int elemSize, const void *A,
int lda, void *B, int ldb, cudaStream_t stream)

cublasSetMatrixAsync has the same functionnality as cublasSetMatrix
but the transfer is done asynchronously within the CUDA stream passed
in parameter.

Return Values
-------------
CUBLAS_STATUS_NOT_INITIALIZED  if CUBLAS library has not been initialized
CUBLAS_STATUS_INVALID_VALUE    if rows or cols < 0, or elemSize, lda, or
ldb <= 0
CUBLAS_STATUS_MAPPING_ERROR    if error occurred accessing GPU memory
CUBLAS_STATUS_SUCCESS          if the operation completed successfully
</pre>