Library/ManagedCuda/CudaSolve/CudaSolveNativeMethods.cs
/// <summary>
/// The helper functions below can calculate the sizes needed for pre-allocated buffer.
/// </summary>
/// <param name="handle">handle to the cuSolverDN library context.</param>
/// <param name="itype">Specifies the problem type to be solved.</param>
/// <param name="jobz">specifies options to either compute eigenvalue only or compute eigen-pair.</param>
/// <param name="uplo">specifies which part of A and B are stored.</param>
/// <param name="n">number of rows (or columns) of matrix A and B.</param>
/// <param name="A">array of dimension lda * n with lda is not less than max(1,n).</param>
/// <param name="lda">leading dimension of two-dimensional array used to store matrix A. lda is not less than max(1,n).</param>
/// <param name="B">array of dimension ldb * n.</param>
/// <param name="ldb">leading dimension of two-dimensional array used to store matrix B. ldb is not less than max(1,n).</param>
/// <param name="W">a real array of dimension n. The eigenvalue values of A, sorted so that W(i) &gt;= W(i+1).</param>
/// <param name="lwork">size of work</param>
The helper functions below can calculate the sizes needed for pre-allocated buffer.
The helper functions below can calculate the sizes needed for pre - allocated buffer .
[DllImport(CUSOLVE_API_DLL_NAME)]
			public static extern cusolverStatus cusolverDnSsygvd_bufferSize(
				cusolverDnHandle handle,
				cusolverEigType itype,
				cusolverEigMode jobz,
				FillMode uplo, 
				int n,
				CUdeviceptr A, 
				int lda,
				CUdeviceptr B, 
				int ldb,
				CUdeviceptr W,
				ref int lwork);
[ DllImport ( CUSOLVE_API_DLL_NAME ) ] public static extern cusolverStatus cusolverDnSsygvd_bufferSize ( cusolverDnHandle handle , cusolverEigType itype , cusolverEigMode jobz , FillMode uplo , int n , CUdeviceptr A , int lda , CUdeviceptr B , int ldb , CUdeviceptr W , ref int lwork ) ;
The helper functions below can calculate the sizes needed for pre-allocated buffer.
The helper functions below can calculate the sizes needed for pre - allocated buffer .
handle
cusolverDnHandle
handle to the cuSolverDN library context.
handle to the cuSolverDN library context .
itype
cusolverEigType
Specifies the problem type to be solved.
Specifies the problem type to be solved .
jobz
cusolverEigMode
specifies options to either compute eigenvalue only or compute eigen-pair.
specifies options to either compute eigenvalue only or compute eigen - pair .
uplo
FillMode
specifies which part of A and B are stored.
specifies which part of A and B are stored .
n
int
number of rows (or columns) of matrix A and B.
number of rows ( or columns ) of matrix A and B .
A
CUdeviceptr
array of dimension lda * n with lda is not less than max(1,n).
array of dimension lda * n with lda is not less than max ( 1 n ) .
lda
int
leading dimension of two-dimensional array used to store matrix A. lda is not less than max(1,n).
leading dimension of two - dimensional array used to store matrix A . lda is not less than max ( 1 n ) .
B
CUdeviceptr
array of dimension ldb * n.
array of dimension ldb * n .
ldb
int
leading dimension of two-dimensional array used to store matrix B. ldb is not less than max(1,n).
leading dimension of two - dimensional array used to store matrix B . ldb is not less than max ( 1 n ) .
W
CUdeviceptr
a real array of dimension n. The eigenvalue values of A, sorted so that W(i) >= W(i+1).
a real array of dimension n . The eigenvalue values of A sorted so that W ( i ) > = W ( i + 1 ) .
int
ref
lwork
size of work
size of work