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

performs the symmetric rank 2 operation

A = alpha*x*transpose(y) + alpha*y*transpose(x) + A,

where alpha is a single precision scalar, x and y are n element single
precision vector and A is an n by n symmetric matrix consisting of single
precision elements.

Input
-----
uplo   specifies whether the matrix data is stored in the upper or the lower
triangular part of array A. If uplo == 'U' or 'u', then only the
upper triangular part of A may be referenced and the lower triangular
part of A is inferred. If uplo == 'L' or 'l', then only the lower
triangular part of A may be referenced and the upper triangular part
of A is inferred.
n      specifies the number of rows and columns of the matrix A. It must be
at least zero.
alpha  single precision scalar multiplier applied to x * transpose(y) +
y * transpose(x).
x      single precision array of length at least (1 + (n - 1) * abs (incx)).
incx   storage spacing between elements of x. incx must not be zero.
y      single precision array of length at least (1 + (n - 1) * abs (incy)).
incy   storage spacing between elements of y. incy must not be zero.
A      single precision array of dimensions (lda, n). If uplo == 'U' or 'u',
then A must contains the upper triangular part of a symmetric matrix,
and the strictly lower triangular parts is not referenced. If uplo ==
'L' or 'l', then A contains the lower triangular part of a symmetric
matrix, and the strictly upper triangular part is not referenced.
lda    leading dimension of A. It must be at least max(1, n).

Output
------
A      updated according to A = alpha*x*transpose(y)+alpha*y*transpose(x)+A

Reference: http://www.netlib.org/blas/ssyr2.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 n < 0, incx == 0, incy == 0
CUBLAS_STATUS_EXECUTION_FAILED if function failed to launch on GPU
</pre>
<pre > void cublasSsyr2 ( char uplo int n float alpha const float * x int incx const float * y int incy float * A int lda )