JCublasJava/src/main/java/jcuda/jcublas/JCublas.java
public static void cublasCsymm(char side, char uplo, int m, int n, cuComplex alpha, Pointer A, int lda, Pointer B, int ldb, cuComplex beta, Pointer C, int ldc)
    {
        cublasCsymmNative(side, uplo, m, n, alpha, A, lda, B, ldb, beta, C, ldc);
        checkResultBLAS();
    }
public static void cublasCsymm(char side, char uplo, int m, int n, cuComplex alpha, Pointer A, int lda, Pointer B, int ldb, cuComplex beta, Pointer C, int ldc)
    {
        cublasCsymmNative(side, uplo, m, n, alpha, A, lda, B, ldb, beta, C, ldc);
        checkResultBLAS();
    }
<pre>
void
cublasCsymm (char side, char uplo, int m, int n, cuComplex alpha,
const cuComplex *A, int lda, const cuComplex *B, int ldb,
cuComplex beta, cuComplex *C, int ldc);

performs one of the matrix-matrix operations

C = alpha * A * B + beta * C, or
C = alpha * B * A + beta * C,

where alpha and beta are single precision complex scalars, A is a symmetric matrix
consisting of single precision complex elements and stored in either lower or upper
storage mode, and B and C are m x n matrices consisting of single precision
complex elements.

Input
-----
side   specifies whether the symmetric matrix A appears on the left side
hand side or right hand side of matrix B, as follows. If side == 'L'
or 'l', then C = alpha * A * B + beta * C. If side = 'R' or 'r',
then C = alpha * B * A + beta * C.
uplo   specifies whether the symmetric matrix A is stored in upper or lower
storage mode, as follows. If uplo == 'U' or 'u', only the upper
triangular part of the symmetric matrix is to be referenced, and the
elements of the strictly lower triangular part are to be infered from
those in the upper triangular part. If uplo == 'L' or 'l', only the
lower triangular part of the symmetric matrix is to be referenced,
and the elements of the strictly upper triangular part are to be
infered from those in the lower triangular part.
m      specifies the number of rows of the matrix C, and the number of rows
of matrix B. It also specifies the dimensions of symmetric matrix A
when side == 'L' or 'l'. m must be at least zero.
n      specifies the number of columns of the matrix C, and the number of
columns of matrix B. It also specifies the dimensions of symmetric
matrix A when side == 'R' or 'r'. n must be at least zero.
alpha  single precision scalar multiplier applied to A * B, or B * A
A      single precision array of dimensions (lda, ka), where ka is m when
side == 'L' or 'l' and is n otherwise. If side == 'L' or 'l' the
leading m x m part of array A must contain the symmetric matrix,
such that when uplo == 'U' or 'u', the leading m x m part stores the
upper triangular part of the symmetric matrix, and the strictly lower
triangular part of A is not referenced, and when uplo == 'U' or 'u',
the leading m x m part stores the lower triangular part of the
symmetric matrix and the strictly upper triangular part is not
referenced. If side == 'R' or 'r' the leading n x n part of array A
must contain the symmetric matrix, such that when uplo == 'U' or 'u',
the leading n x n part stores the upper triangular part of the
symmetric matrix and the strictly lower triangular part of A is not
referenced, and when uplo == 'U' or 'u', the leading n x n part
stores the lower triangular part of the symmetric matrix and the
strictly upper triangular part is not referenced.
lda    leading dimension of A. When side == 'L' or 'l', it must be at least
max(1, m) and at least max(1, n) otherwise.
B      single precision array of dimensions (ldb, n). On entry, the leading
m x n part of the array contains the matrix B.
ldb    leading dimension of B. It must be at least max (1, m).
beta   single precision scalar multiplier applied to C. If beta is zero, C
does not have to be a valid input
C      single precision array of dimensions (ldc, n)
ldc    leading dimension of C. Must be at least max(1, m)

Output
------
C      updated according to C = alpha * A * B + beta * C, or C = alpha *
B * A + beta * C

Reference: http://www.netlib.org/blas/csymm.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
CUBLAS_STATUS_EXECUTION_FAILED if function failed to launch on GPU
</pre>