Show / Hide Table of Contents

Class cublas

cuBLAS mapping

Inheritance
System.Object
cublas
Inherited Members
System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Namespace: Hybridizer.Runtime.CUDAImports
Assembly: Hybridizer.Runtime.CUDAImports.dll
Syntax
public class cublas

Constructors

cublas()

builds a cublas instance with requested cuda version (5.0 to 9.1)

Declaration
public cublas()

Methods

Caxpy(cublasHandle_t, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32)

This function multiplies the vector x by the scalar α and adds it to the vector y overwriting the latest vector with the result

Declaration
public cublasStatus_t Caxpy(cublasHandle_t handle, int n, IntPtr alpha, IntPtr x, int incx, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Ccopy(cublasHandle_t, Int32, IntPtr, Int32, IntPtr, Int32)

This function copies the vector x into the vector y.

Declaration
public cublasStatus_t Ccopy(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Cdotc(cublasHandle_t, Int32, IntPtr, Int32, IntPtr, Int32, IntPtr)

This function computes the dot product of vectors x and y

Declaration
public cublasStatus_t Cdotc(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr y, int incy, IntPtr result)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
System.IntPtr result
Returns
Type Description
cublasStatus_t

Cdotu(cublasHandle_t, Int32, IntPtr, Int32, IntPtr, Int32, IntPtr)

This function computes the dot product of vectors x and y

Declaration
public cublasStatus_t Cdotu(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr y, int incy, IntPtr result)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
System.IntPtr result
Returns
Type Description
cublasStatus_t

Cgbmv(cublasHandle_t, cublasOperation_t, Int32, Int32, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the banded matrix-vector multiplication y = α op(A ) x + β y Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Cgbmv(cublasHandle_t handle, cublasOperation_t trans, int m, int n, int kl, int ku, IntPtr alpha, IntPtr A, int lda, IntPtr x, int incx, IntPtr beta, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
cublasOperation_t trans
System.Int32 m
System.Int32 n
System.Int32 kl
System.Int32 ku
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
System.IntPtr beta
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Cgemm(cublasHandle_t, cublasOperation_t, cublasOperation_t, Int32, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the matrix-matrix multiplication C = α op(A ) op(B ) + β C

Declaration
public cublasStatus_t Cgemm(cublasHandle_t handle, cublasOperation_t transa, cublasOperation_t transb, int m, int n, int k, IntPtr alpha, IntPtr A, int lda, IntPtr B, int ldb, IntPtr beta, IntPtr C, int ldc)
Parameters
Type Name Description
cublasHandle_t handle
cublasOperation_t transa
cublasOperation_t transb
System.Int32 m
System.Int32 n
System.Int32 k
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr B
System.Int32 ldb
System.IntPtr beta
System.IntPtr C
System.Int32 ldc
Returns
Type Description
cublasStatus_t

Cgemv(cublasHandle_t, cublasOperation_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the matrix-vector multiplication y = α op(A ) x + β y Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Cgemv(cublasHandle_t handle, cublasOperation_t trans, int m, int n, IntPtr alpha, IntPtr A, int lda, IntPtr x, int incx, IntPtr beta, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
cublasOperation_t trans
System.Int32 m
System.Int32 n
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
System.IntPtr beta
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Cgerc(cublasHandle_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, Int32)

This function performs the rank-1 update A = α x y^T + A if ger(),geru() is called or α x y^H + A if gerc() is called Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Cgerc(cublasHandle_t handle, int m, int n, IntPtr alpha, IntPtr x, int incx, IntPtr y, int incy, IntPtr A, int lda)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 m
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
System.IntPtr A
System.Int32 lda
Returns
Type Description
cublasStatus_t

Cgeru(cublasHandle_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, Int32)

This function performs the rank-1 update A = α x y^T + A if ger(),geru() is called or α x y^H + A if gerc() is called Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Cgeru(cublasHandle_t handle, int m, int n, IntPtr alpha, IntPtr x, int incx, IntPtr y, int incy, IntPtr A, int lda)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 m
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
System.IntPtr A
System.Int32 lda
Returns
Type Description
cublasStatus_t

Chbmv(cublasHandle_t, cublasFillMode_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the Hermitian banded matrix-vector multiplication y = α A x + β y

Declaration
public cublasStatus_t Chbmv(cublasHandle_t handle, cublasFillMode_t uplo, int n, int k, IntPtr alpha, IntPtr A, int lda, IntPtr x, int incx, IntPtr beta, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.Int32 k
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
System.IntPtr beta
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Chemm(cublasHandle_t, cublasSideMode_t, cublasFillMode_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the Hermitian matrix-matrix multiplication : C = α A B + β C if side == CUBLAS_SIDE_LEFT ; α B A + β C if side == CUBLAS_SIDE_RIGHT

Declaration
public cublasStatus_t Chemm(cublasHandle_t handle, cublasSideMode_t side, cublasFillMode_t uplo, int m, int n, IntPtr alpha, IntPtr A, int lda, IntPtr B, int ldb, IntPtr beta, IntPtr C, int ldc)
Parameters
Type Name Description
cublasHandle_t handle
cublasSideMode_t side
cublasFillMode_t uplo
System.Int32 m
System.Int32 n
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr B
System.Int32 ldb
System.IntPtr beta
System.IntPtr C
System.Int32 ldc
Returns
Type Description
cublasStatus_t

Chemv(cublasHandle_t, cublasFillMode_t, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the Hermitian matrix-vector multiplication y = α A x + β y

Declaration
public cublasStatus_t Chemv(cublasHandle_t handle, cublasFillMode_t uplo, int n, IntPtr alpha, IntPtr A, int lda, IntPtr x, int incx, IntPtr beta, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
System.IntPtr beta
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Cher(cublasHandle_t, cublasFillMode_t, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32)

This function performs the Hermitian rank-1 update A = α x xH + A

Declaration
public cublasStatus_t Cher(cublasHandle_t handle, cublasFillMode_t uplo, int n, IntPtr alpha, IntPtr x, int incx, IntPtr A, int lda)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
System.IntPtr A
System.Int32 lda
Returns
Type Description
cublasStatus_t

Cher2(cublasHandle_t, cublasFillMode_t, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, Int32)

This function performs the Hermitian rank-2 update A = α x yH + conj(α) y x H + A

Declaration
public cublasStatus_t Cher2(cublasHandle_t handle, cublasFillMode_t uplo, int n, IntPtr alpha, IntPtr x, int incx, IntPtr y, int incy, IntPtr A, int lda)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
System.IntPtr A
System.Int32 lda
Returns
Type Description
cublasStatus_t

Cher2k(cublasHandle_t, cublasFillMode_t, cublasOperation_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the Hermitian rank-2 k update C = α op ( A ) op ( B )H + conj(α) op ( B ) op ( A )H + β C

Declaration
public cublasStatus_t Cher2k(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, int n, int k, IntPtr alpha, IntPtr A, int lda, IntPtr B, int ldb, IntPtr beta, IntPtr C, int ldc)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
System.Int32 n
System.Int32 k
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr B
System.Int32 ldb
System.IntPtr beta
System.IntPtr C
System.Int32 ldc
Returns
Type Description
cublasStatus_t

Cherk(cublasHandle_t, cublasFillMode_t, cublasOperation_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the Hermitian rank-k update : C = α op ( A ) op ( A ) H + β C

Declaration
public cublasStatus_t Cherk(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, int n, int k, IntPtr alpha, IntPtr A, int lda, IntPtr beta, IntPtr C, int ldc)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
System.Int32 n
System.Int32 k
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr beta
System.IntPtr C
System.Int32 ldc
Returns
Type Description
cublasStatus_t

Chpmv(cublasHandle_t, cublasFillMode_t, Int32, IntPtr, IntPtr, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the Hermitian packed matrix-vector multiplication y = α A x + β y

Declaration
public cublasStatus_t Chpmv(cublasHandle_t handle, cublasFillMode_t uplo, int n, IntPtr alpha, IntPtr AP, IntPtr x, int incx, IntPtr beta, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.IntPtr alpha
System.IntPtr AP
System.IntPtr x
System.Int32 incx
System.IntPtr beta
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Chpr(cublasHandle_t, cublasFillMode_t, Int32, IntPtr, IntPtr, Int32, IntPtr)

This function performs the packed Hermitian rank-1 update A = α x xH + A

Declaration
public cublasStatus_t Chpr(cublasHandle_t handle, cublasFillMode_t uplo, int n, IntPtr alpha, IntPtr x, int incx, IntPtr AP)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
System.IntPtr AP
Returns
Type Description
cublasStatus_t

Chpr2(cublasHandle_t, cublasFillMode_t, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr)

This function performs the packed Hermitian rank-2 update A = α x yH + conj(α) y x H + A

Declaration
public cublasStatus_t Chpr2(cublasHandle_t handle, cublasFillMode_t uplo, int n, IntPtr alpha, IntPtr x, int incx, IntPtr y, int incy, IntPtr AP)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
System.IntPtr AP
Returns
Type Description
cublasStatus_t

Create(out cublasHandle_t)

This function initializes the CUBLAS library and creates a handle to an opaque structure holding the CUBLAS library context. It allocates hardware resources on the host and device and must be called prior to making any other CUBLAS library calls. The CUBLAS library context is tied to the current CUDA device. To use the library on multiple devices, one CUBLAS handle needs to be created for each device. Furthermore, for a given device, multiple CUBLAS handles with different configuration can be created. Because cublasCreate allocates some internal resources and the release of those resources by calling cublasDestroy will implicitly call cublasDeviceSynchronize, it is recommended to minimize the number of cublasCreate/cublasDestroy occurences. For multi-threaded applications that use the same device from different threads, the recommended programming model is to create one CUBLAS handle per thread and use that CUBLAS handle for the entire life of the thread. Complete documentation on nvidia documentation

Declaration
public cublasStatus_t Create(out cublasHandle_t handle)
Parameters
Type Name Description
cublasHandle_t handle
Returns
Type Description
cublasStatus_t

Crot(cublasHandle_t, Int32, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr)

This function applies Givens rotation matrix (c, s; -s, c)

Declaration
public cublasStatus_t Crot(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr y, int incy, IntPtr c, IntPtr s)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
System.IntPtr c
System.IntPtr s
Returns
Type Description
cublasStatus_t

Crotg(cublasHandle_t, IntPtr, IntPtr, IntPtr, IntPtr)

This function constructs the Givens rotation matrix (c, s; -s, c)

Declaration
public cublasStatus_t Crotg(cublasHandle_t handle, IntPtr a, IntPtr b, IntPtr c, IntPtr s)
Parameters
Type Name Description
cublasHandle_t handle
System.IntPtr a
System.IntPtr b
System.IntPtr c
System.IntPtr s
Returns
Type Description
cublasStatus_t

Cscal(cublasHandle_t, Int32, IntPtr, IntPtr, Int32)

This function scales the vector x by the scalar α and overwrites it with the result

Declaration
public cublasStatus_t Cscal(cublasHandle_t handle, int n, IntPtr alpha, IntPtr x, int incx)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
Returns
Type Description
cublasStatus_t

Csrot(cublasHandle_t, Int32, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr)

This function applies Givens rotation matrix (c, s; -s, c)

Declaration
public cublasStatus_t Csrot(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr y, int incy, IntPtr c, IntPtr s)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
System.IntPtr c
System.IntPtr s
Returns
Type Description
cublasStatus_t

Csscal(cublasHandle_t, Int32, IntPtr, IntPtr, Int32)

This function scales the vector x by the scalar α and overwrites it with the result

Declaration
public cublasStatus_t Csscal(cublasHandle_t handle, int n, IntPtr alpha, IntPtr x, int incx)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
Returns
Type Description
cublasStatus_t

Cswap(cublasHandle_t, Int32, IntPtr, Int32, IntPtr, Int32)

This function interchanges the elements of vector x and y

Declaration
public cublasStatus_t Cswap(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Csymm(cublasHandle_t, cublasSideMode_t, cublasFillMode_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the symmetric matrix-matrix multiplication C = α A B + β C if side == CUBLAS_SIDE_LEFT ; α B A + β C if side == CUBLAS_SIDE_RIGHT

Declaration
public cublasStatus_t Csymm(cublasHandle_t handle, cublasSideMode_t side, cublasFillMode_t uplo, int m, int n, IntPtr alpha, IntPtr A, int lda, IntPtr B, int ldb, IntPtr beta, IntPtr C, int ldc)
Parameters
Type Name Description
cublasHandle_t handle
cublasSideMode_t side
cublasFillMode_t uplo
System.Int32 m
System.Int32 n
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr B
System.Int32 ldb
System.IntPtr beta
System.IntPtr C
System.Int32 ldc
Returns
Type Description
cublasStatus_t

Csymv(cublasHandle_t, cublasFillMode_t, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the symmetric matrix-vector multiplication. y = α A x + β y Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Csymv(cublasHandle_t handle, cublasFillMode_t uplo, int n, IntPtr alpha, IntPtr A, int lda, IntPtr x, int incx, IntPtr beta, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
System.IntPtr beta
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Csyr(cublasHandle_t, cublasFillMode_t, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32)

This function performs the symmetric rank-1 update A = α x xT + A Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Csyr(cublasHandle_t handle, cublasFillMode_t uplo, int n, IntPtr alpha, IntPtr x, int incx, IntPtr A, int lda)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
System.IntPtr A
System.Int32 lda
Returns
Type Description
cublasStatus_t

Csyr2(cublasHandle_t, cublasFillMode_t, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, Int32)

This function performs the symmetric rank-2 update A = α (x yT + y x T) + A Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Csyr2(cublasHandle_t handle, cublasFillMode_t uplo, int n, IntPtr alpha, IntPtr x, int incx, IntPtr y, int incy, IntPtr A, int lda)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
System.IntPtr A
System.Int32 lda
Returns
Type Description
cublasStatus_t

Csyr2k(cublasHandle_t, cublasFillMode_t, cublasOperation_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the symmetric rank- 2 k update C = α ( op ( A ) op ( B )T + op ( B ) op ( A )T ) + β C

Declaration
public cublasStatus_t Csyr2k(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, int n, int k, IntPtr alpha, IntPtr A, int lda, IntPtr B, int ldb, IntPtr beta, IntPtr C, int ldc)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
System.Int32 n
System.Int32 k
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr B
System.Int32 ldb
System.IntPtr beta
System.IntPtr C
System.Int32 ldc
Returns
Type Description
cublasStatus_t

Csyrk(cublasHandle_t, cublasFillMode_t, cublasOperation_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the symmetric rank- k update C = α op(A ) op(A )T + β C

Declaration
public cublasStatus_t Csyrk(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, int n, int k, IntPtr alpha, IntPtr A, int lda, IntPtr beta, IntPtr C, int ldc)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
System.Int32 n
System.Int32 k
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr beta
System.IntPtr C
System.Int32 ldc
Returns
Type Description
cublasStatus_t

Ctbmv(cublasHandle_t, cublasFillMode_t, cublasOperation_t, cublasDiagType_t, Int32, Int32, IntPtr, Int32, IntPtr, Int32)

This function performs the triangular banded matrix-vector multiplication x = op(A) x

Declaration
public cublasStatus_t Ctbmv(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int n, int k, IntPtr A, int lda, IntPtr x, int incx)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
cublasDiagType_t diag
System.Int32 n
System.Int32 k
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
Returns
Type Description
cublasStatus_t

Ctbsv(cublasHandle_t, cublasFillMode_t, cublasOperation_t, cublasDiagType_t, Int32, Int32, IntPtr, Int32, IntPtr, Int32)

This function solves the triangular banded linear system with a single right-hand-side op(A) x = b

Declaration
public cublasStatus_t Ctbsv(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int n, int k, IntPtr A, int lda, IntPtr x, int incx)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
cublasDiagType_t diag
System.Int32 n
System.Int32 k
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
Returns
Type Description
cublasStatus_t

Ctpmv(cublasHandle_t, cublasFillMode_t, cublasOperation_t, cublasDiagType_t, Int32, IntPtr, IntPtr, Int32)

This function performs the triangular packed matrix-vector multiplication x = op (A) x

Declaration
public cublasStatus_t Ctpmv(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int n, IntPtr AP, IntPtr x, int incx)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
cublasDiagType_t diag
System.Int32 n
System.IntPtr AP
System.IntPtr x
System.Int32 incx
Returns
Type Description
cublasStatus_t

Ctpsv(cublasHandle_t, cublasFillMode_t, cublasOperation_t, cublasDiagType_t, Int32, IntPtr, IntPtr, Int32)

This function solves the packed triangular linear system with a single right-hand-side op(A) x = b

Declaration
public cublasStatus_t Ctpsv(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int n, IntPtr AP, IntPtr x, int incx)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
cublasDiagType_t diag
System.Int32 n
System.IntPtr AP
System.IntPtr x
System.Int32 incx
Returns
Type Description
cublasStatus_t

Ctrmm(cublasHandle_t, cublasSideMode_t, cublasFillMode_t, cublasOperation_t, cublasDiagType_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, Int32)

This function performs the triangular matrix-matrix multiplication C = α op ( A ) B if side == CUBLAS_SIDE_LEFT ; α B op ( A ) if side == CUBLAS_SIDE_RIGHT

Declaration
public cublasStatus_t Ctrmm(cublasHandle_t handle, cublasSideMode_t side, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int m, int n, IntPtr alpha, IntPtr A, int lda, IntPtr B, int ldb, IntPtr C, int ldc)
Parameters
Type Name Description
cublasHandle_t handle
cublasSideMode_t side
cublasFillMode_t uplo
cublasOperation_t trans
cublasDiagType_t diag
System.Int32 m
System.Int32 n
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr B
System.Int32 ldb
System.IntPtr C
System.Int32 ldc
Returns
Type Description
cublasStatus_t

Ctrmv(cublasHandle_t, cublasFillMode_t, cublasOperation_t, cublasDiagType_t, Int32, IntPtr, Int32, IntPtr, Int32)

This function performs the triangular matrix-vector multiplication x = op(A) x

Declaration
public cublasStatus_t Ctrmv(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int n, IntPtr A, int lda, IntPtr x, int incx)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
cublasDiagType_t diag
System.Int32 n
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
Returns
Type Description
cublasStatus_t

Ctrsm(cublasHandle_t, cublasSideMode_t, cublasFillMode_t, cublasOperation_t, cublasDiagType_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32)

This function solves the triangular linear system with multiple right-hand-sides : op ( A ) X = α B if side == CUBLAS_SIDE_LEFT ; X op ( A ) = α B if side == CUBLAS_SIDE_RIGHT

Declaration
public cublasStatus_t Ctrsm(cublasHandle_t handle, cublasSideMode_t side, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int m, int n, IntPtr alpha, IntPtr A, int lda, IntPtr B, int ldb)
Parameters
Type Name Description
cublasHandle_t handle
cublasSideMode_t side
cublasFillMode_t uplo
cublasOperation_t trans
cublasDiagType_t diag
System.Int32 m
System.Int32 n
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr B
System.Int32 ldb
Returns
Type Description
cublasStatus_t

Ctrsv(cublasHandle_t, cublasFillMode_t, cublasOperation_t, cublasDiagType_t, Int32, IntPtr, Int32, IntPtr, Int32)

This function solves the triangular linear system with a single right-hand-side op(A) x = b

Declaration
public cublasStatus_t Ctrsv(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int n, IntPtr A, int lda, IntPtr x, int incx)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
cublasDiagType_t diag
System.Int32 n
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
Returns
Type Description
cublasStatus_t

Dasum(cublasHandle_t, Int32, IntPtr, Int32, IntPtr)

This function computes the sum of the absolute values of the elements of vector x

Declaration
public cublasStatus_t Dasum(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr result)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr result
Returns
Type Description
cublasStatus_t

Daxpy(cublasHandle_t, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32)

This function multiplies the vector x by the scalar α and adds it to the vector y overwriting the latest vector with the result

Declaration
public cublasStatus_t Daxpy(cublasHandle_t handle, int n, IntPtr alpha, IntPtr x, int incx, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Dcopy(cublasHandle_t, Int32, IntPtr, Int32, IntPtr, Int32)

This function copies the vector x into the vector y.

Declaration
public cublasStatus_t Dcopy(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Ddot(cublasHandle_t, Int32, IntPtr, Int32, IntPtr, Int32, IntPtr)

This function computes the dot product of vectors x and y

Declaration
public cublasStatus_t Ddot(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr y, int incy, IntPtr result)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
System.IntPtr result
Returns
Type Description
cublasStatus_t

Destroy(cublasHandle_t)

This function releases hardware resources used by the CUBLAS library. This function is usually the last call with a particular handle to the CUBLAS library. Because cublasCreate allocates some internal resources and the release of those resources by calling cublasDestroy will implicitly call cublasDeviceSynchronize, it is recommended to minimize the number of cublasCreate/cublasDestroy occurences. Complete documentation on nvidia documentation

Declaration
public cublasStatus_t Destroy(cublasHandle_t handle)
Parameters
Type Name Description
cublasHandle_t handle
Returns
Type Description
cublasStatus_t

Dgbmv(cublasHandle_t, cublasOperation_t, Int32, Int32, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the banded matrix-vector multiplication y = α op(A ) x + β y Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Dgbmv(cublasHandle_t handle, cublasOperation_t trans, int m, int n, int kl, int ku, IntPtr alpha, IntPtr A, int lda, IntPtr x, int incx, IntPtr beta, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
cublasOperation_t trans
System.Int32 m
System.Int32 n
System.Int32 kl
System.Int32 ku
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
System.IntPtr beta
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Dgemm(cublasHandle_t, cublasOperation_t, cublasOperation_t, Int32, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the matrix-matrix multiplication C = α op(A ) op(B ) + β C

Declaration
public cublasStatus_t Dgemm(cublasHandle_t handle, cublasOperation_t transa, cublasOperation_t transb, int m, int n, int k, IntPtr alpha, IntPtr A, int lda, IntPtr B, int ldb, IntPtr beta, IntPtr C, int ldc)
Parameters
Type Name Description
cublasHandle_t handle
cublasOperation_t transa
cublasOperation_t transb
System.Int32 m
System.Int32 n
System.Int32 k
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr B
System.Int32 ldb
System.IntPtr beta
System.IntPtr C
System.Int32 ldc
Returns
Type Description
cublasStatus_t

Dgemv(cublasHandle_t, cublasOperation_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the matrix-vector multiplication y = α op(A ) x + β y Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Dgemv(cublasHandle_t handle, cublasOperation_t trans, int m, int n, IntPtr alpha, IntPtr A, int lda, IntPtr x, int incx, IntPtr beta, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
cublasOperation_t trans
System.Int32 m
System.Int32 n
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
System.IntPtr beta
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Dger(cublasHandle_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, Int32)

This function performs the rank-1 update A = α x y^T + A if ger(),geru() is called or α x y^H + A if gerc() is called Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Dger(cublasHandle_t handle, int m, int n, IntPtr alpha, IntPtr x, int incx, IntPtr y, int incy, IntPtr A, int lda)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 m
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
System.IntPtr A
System.Int32 lda
Returns
Type Description
cublasStatus_t

Dnrm2(cublasHandle_t, Int32, IntPtr, Int32, IntPtr)

This function computes the Euclidean norm of the vector x

Declaration
public cublasStatus_t Dnrm2(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr result)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr result
Returns
Type Description
cublasStatus_t

Drot(cublasHandle_t, Int32, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr)

This function applies Givens rotation matrix (c, s; -s, c)

Declaration
public cublasStatus_t Drot(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr y, int incy, IntPtr c, IntPtr s)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
System.IntPtr c
System.IntPtr s
Returns
Type Description
cublasStatus_t

Drotg(cublasHandle_t, IntPtr, IntPtr, IntPtr, IntPtr)

This function constructs the Givens rotation matrix (c, s; -s, c)

Declaration
public cublasStatus_t Drotg(cublasHandle_t handle, IntPtr a, IntPtr b, IntPtr c, IntPtr s)
Parameters
Type Name Description
cublasHandle_t handle
System.IntPtr a
System.IntPtr b
System.IntPtr c
System.IntPtr s
Returns
Type Description
cublasStatus_t

Drotm(cublasHandle_t, Int32, IntPtr, Int32, IntPtr, Int32, IntPtr)

This function applies the modified Givens transformation (h11, h12; h21, h22) Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Drotm(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr y, int incy, IntPtr param)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
System.IntPtr param
Returns
Type Description
cublasStatus_t

Drotmg(cublasHandle_t, IntPtr, IntPtr, IntPtr, IntPtr, IntPtr)

This function constructs the modified Givens transformation (h11, h12; h21, h22) Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Drotmg(cublasHandle_t handle, IntPtr d1, IntPtr d2, IntPtr x1, IntPtr y1, IntPtr param)
Parameters
Type Name Description
cublasHandle_t handle
System.IntPtr d1
System.IntPtr d2
System.IntPtr x1
System.IntPtr y1
System.IntPtr param
Returns
Type Description
cublasStatus_t

Dsbmv(cublasHandle_t, cublasFillMode_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the symmetric banded matrix-vector multiplication Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Dsbmv(cublasHandle_t handle, cublasFillMode_t uplo, int n, int k, IntPtr alpha, IntPtr A, int lda, IntPtr x, int incx, IntPtr beta, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.Int32 k
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
System.IntPtr beta
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Dscal(cublasHandle_t, Int32, IntPtr, IntPtr, Int32)

This function scales the vector x by the scalar α and overwrites it with the result

Declaration
public cublasStatus_t Dscal(cublasHandle_t handle, int n, IntPtr alpha, IntPtr x, int incx)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
Returns
Type Description
cublasStatus_t

Dspmv(cublasHandle_t, cublasFillMode_t, Int32, IntPtr, IntPtr, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the symmetric packed matrix-vector multiplication y = α A x + β y Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Dspmv(cublasHandle_t handle, cublasFillMode_t uplo, int n, IntPtr alpha, IntPtr AP, IntPtr x, int incx, IntPtr beta, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.IntPtr alpha
System.IntPtr AP
System.IntPtr x
System.Int32 incx
System.IntPtr beta
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Dspr(cublasHandle_t, cublasFillMode_t, Int32, IntPtr, IntPtr, Int32, IntPtr)

This function performs the packed symmetric rank-1 update A = α x x^T + A Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Dspr(cublasHandle_t handle, cublasFillMode_t uplo, int n, IntPtr alpha, IntPtr x, int incx, IntPtr AP)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
System.IntPtr AP
Returns
Type Description
cublasStatus_t

Dspr2(cublasHandle_t, cublasFillMode_t, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr)

This function performs the packed symmetric rank-2 update A = α(x y^T + y x^T) + A Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Dspr2(cublasHandle_t handle, cublasFillMode_t uplo, int n, IntPtr alpha, IntPtr x, int incx, IntPtr y, int incy, IntPtr AP)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
System.IntPtr AP
Returns
Type Description
cublasStatus_t

Dswap(cublasHandle_t, Int32, IntPtr, Int32, IntPtr, Int32)

This function interchanges the elements of vector x and y

Declaration
public cublasStatus_t Dswap(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Dsymm(cublasHandle_t, cublasSideMode_t, cublasFillMode_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the symmetric matrix-matrix multiplication C = α A B + β C if side == CUBLAS_SIDE_LEFT ; α B A + β C if side == CUBLAS_SIDE_RIGHT

Declaration
public cublasStatus_t Dsymm(cublasHandle_t handle, cublasSideMode_t side, cublasFillMode_t uplo, int m, int n, IntPtr alpha, IntPtr A, int lda, IntPtr B, int ldb, IntPtr beta, IntPtr C, int ldc)
Parameters
Type Name Description
cublasHandle_t handle
cublasSideMode_t side
cublasFillMode_t uplo
System.Int32 m
System.Int32 n
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr B
System.Int32 ldb
System.IntPtr beta
System.IntPtr C
System.Int32 ldc
Returns
Type Description
cublasStatus_t

Dsymv(cublasHandle_t, cublasFillMode_t, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the symmetric matrix-vector multiplication. y = α A x + β y Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Dsymv(cublasHandle_t handle, cublasFillMode_t uplo, int n, IntPtr alpha, IntPtr A, int lda, IntPtr x, int incx, IntPtr beta, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
System.IntPtr beta
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Dsyr(cublasHandle_t, cublasFillMode_t, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32)

This function performs the symmetric rank-1 update A = α x xT + A Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Dsyr(cublasHandle_t handle, cublasFillMode_t uplo, int n, IntPtr alpha, IntPtr x, int incx, IntPtr A, int lda)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
System.IntPtr A
System.Int32 lda
Returns
Type Description
cublasStatus_t

Dsyr2(cublasHandle_t, cublasFillMode_t, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, Int32)

This function performs the symmetric rank-2 update A = α (x yT + y x T) + A Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Dsyr2(cublasHandle_t handle, cublasFillMode_t uplo, int n, IntPtr alpha, IntPtr x, int incx, IntPtr y, int incy, IntPtr A, int lda)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
System.IntPtr A
System.Int32 lda
Returns
Type Description
cublasStatus_t

Dsyr2k(cublasHandle_t, cublasFillMode_t, cublasOperation_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the symmetric rank- 2 k update C = α ( op ( A ) op ( B )T + op ( B ) op ( A )T ) + β C

Declaration
public cublasStatus_t Dsyr2k(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, int n, int k, IntPtr alpha, IntPtr A, int lda, IntPtr B, int ldb, IntPtr beta, IntPtr C, int ldc)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
System.Int32 n
System.Int32 k
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr B
System.Int32 ldb
System.IntPtr beta
System.IntPtr C
System.Int32 ldc
Returns
Type Description
cublasStatus_t

Dsyrk(cublasHandle_t, cublasFillMode_t, cublasOperation_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the symmetric rank- k update C = α op(A ) op(A )T + β C

Declaration
public cublasStatus_t Dsyrk(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, int n, int k, IntPtr alpha, IntPtr A, int lda, IntPtr beta, IntPtr C, int ldc)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
System.Int32 n
System.Int32 k
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr beta
System.IntPtr C
System.Int32 ldc
Returns
Type Description
cublasStatus_t

Dtbmv(cublasHandle_t, cublasFillMode_t, cublasOperation_t, cublasDiagType_t, Int32, Int32, IntPtr, Int32, IntPtr, Int32)

This function performs the triangular banded matrix-vector multiplication x = op(A) x

Declaration
public cublasStatus_t Dtbmv(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int n, int k, IntPtr A, int lda, IntPtr x, int incx)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
cublasDiagType_t diag
System.Int32 n
System.Int32 k
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
Returns
Type Description
cublasStatus_t

Dtbsv(cublasHandle_t, cublasFillMode_t, cublasOperation_t, cublasDiagType_t, Int32, Int32, IntPtr, Int32, IntPtr, Int32)

This function solves the triangular banded linear system with a single right-hand-side op(A) x = b

Declaration
public cublasStatus_t Dtbsv(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int n, int k, IntPtr A, int lda, IntPtr x, int incx)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
cublasDiagType_t diag
System.Int32 n
System.Int32 k
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
Returns
Type Description
cublasStatus_t

Dtpmv(cublasHandle_t, cublasFillMode_t, cublasOperation_t, cublasDiagType_t, Int32, IntPtr, IntPtr, Int32)

This function performs the triangular packed matrix-vector multiplication x = op (A) x

Declaration
public cublasStatus_t Dtpmv(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int n, IntPtr AP, IntPtr x, int incx)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
cublasDiagType_t diag
System.Int32 n
System.IntPtr AP
System.IntPtr x
System.Int32 incx
Returns
Type Description
cublasStatus_t

Dtpsv(cublasHandle_t, cublasFillMode_t, cublasOperation_t, cublasDiagType_t, Int32, IntPtr, IntPtr, Int32)

This function solves the packed triangular linear system with a single right-hand-side op(A) x = b

Declaration
public cublasStatus_t Dtpsv(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int n, IntPtr AP, IntPtr x, int incx)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
cublasDiagType_t diag
System.Int32 n
System.IntPtr AP
System.IntPtr x
System.Int32 incx
Returns
Type Description
cublasStatus_t

Dtrmm(cublasHandle_t, cublasSideMode_t, cublasFillMode_t, cublasOperation_t, cublasDiagType_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, Int32)

This function performs the triangular matrix-matrix multiplication C = α op ( A ) B if side == CUBLAS_SIDE_LEFT ; α B op ( A ) if side == CUBLAS_SIDE_RIGHT

Declaration
public cublasStatus_t Dtrmm(cublasHandle_t handle, cublasSideMode_t side, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int m, int n, IntPtr alpha, IntPtr A, int lda, IntPtr B, int ldb, IntPtr C, int ldc)
Parameters
Type Name Description
cublasHandle_t handle
cublasSideMode_t side
cublasFillMode_t uplo
cublasOperation_t trans
cublasDiagType_t diag
System.Int32 m
System.Int32 n
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr B
System.Int32 ldb
System.IntPtr C
System.Int32 ldc
Returns
Type Description
cublasStatus_t

Dtrmv(cublasHandle_t, cublasFillMode_t, cublasOperation_t, cublasDiagType_t, Int32, IntPtr, Int32, IntPtr, Int32)

This function performs the triangular matrix-vector multiplication x = op(A) x

Declaration
public cublasStatus_t Dtrmv(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int n, IntPtr A, int lda, IntPtr x, int incx)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
cublasDiagType_t diag
System.Int32 n
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
Returns
Type Description
cublasStatus_t

Dtrsm(cublasHandle_t, cublasSideMode_t, cublasFillMode_t, cublasOperation_t, cublasDiagType_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32)

This function solves the triangular linear system with multiple right-hand-sides : op ( A ) X = α B if side == CUBLAS_SIDE_LEFT ; X op ( A ) = α B if side == CUBLAS_SIDE_RIGHT

Declaration
public cublasStatus_t Dtrsm(cublasHandle_t handle, cublasSideMode_t side, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int m, int n, IntPtr alpha, IntPtr A, int lda, IntPtr B, int ldb)
Parameters
Type Name Description
cublasHandle_t handle
cublasSideMode_t side
cublasFillMode_t uplo
cublasOperation_t trans
cublasDiagType_t diag
System.Int32 m
System.Int32 n
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr B
System.Int32 ldb
Returns
Type Description
cublasStatus_t

Dtrsv(cublasHandle_t, cublasFillMode_t, cublasOperation_t, cublasDiagType_t, Int32, IntPtr, Int32, IntPtr, Int32)

This function solves the triangular linear system with a single right-hand-side op(A) x = b

Declaration
public cublasStatus_t Dtrsv(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int n, IntPtr A, int lda, IntPtr x, int incx)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
cublasDiagType_t diag
System.Int32 n
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
Returns
Type Description
cublasStatus_t

Dzasum(cublasHandle_t, Int32, IntPtr, Int32, IntPtr)

This function computes the sum of the absolute values of the elements of vector x

Declaration
public cublasStatus_t Dzasum(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr result)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr result
Returns
Type Description
cublasStatus_t

Dznrm2(cublasHandle_t, Int32, IntPtr, Int32, IntPtr)

This function computes the Euclidean norm of the vector x

Declaration
public cublasStatus_t Dznrm2(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr result)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr result
Returns
Type Description
cublasStatus_t

GetAtomicsMode(cublasHandle_t, out cublasAtomicsMode_t)

This function queries the atomic mode of a specific cuBLAS context. Complete documentation on nvidia documentation

Declaration
public cublasStatus_t GetAtomicsMode(cublasHandle_t handle, out cublasAtomicsMode_t mode)
Parameters
Type Name Description
cublasHandle_t handle
cublasAtomicsMode_t mode
Returns
Type Description
cublasStatus_t

GetCudaVersion()

Gets CUDA version from app.config

Declaration
public static string GetCudaVersion()
Returns
Type Description
System.String

GetMatrix(Int32, Int32, Int32, IntPtr, Int32, IntPtr, Int32)

This function copies a tile of rows x cols elements from a matrix A in GPU memory space to a matrix B in host memory space. It is assumed that each element requires storage of elemSize bytes and that both matrices are stored in column-major format, with the leading dimension of the source matrix A and destination matrix B given in lda and ldb, respectively. The leading dimension indicates the number of rows of the allocated matrix, even if only a submatrix of it is being used. In general, A is a device pointer that points to an object, or part of an object, that was allocated in GPU memory space via cublasAlloc(). Complete documentation on nvidia documentation

Declaration
public cublasStatus_t GetMatrix(int rows, int cols, int elemSize, IntPtr A, int lda, IntPtr B, int ldb)
Parameters
Type Name Description
System.Int32 rows
System.Int32 cols
System.Int32 elemSize
System.IntPtr A
System.Int32 lda
System.IntPtr B
System.Int32 ldb
Returns
Type Description
cublasStatus_t

GetMatrixAsync(Int32, Int32, Int32, IntPtr, Int32, IntPtr, Int32, cudaStream_t)

This function has the same functionality as cublasGetMatrix(), with the exception that the data transfer is done asynchronously (with respect to the host) using the given CUDA™ stream parameter. Complete documentation on nvidia documentation

Declaration
public cublasStatus_t GetMatrixAsync(int rows, int cols, int elemSize, IntPtr A, int lda, IntPtr B, int ldb, cudaStream_t stream)
Parameters
Type Name Description
System.Int32 rows
System.Int32 cols
System.Int32 elemSize
System.IntPtr A
System.Int32 lda
System.IntPtr B
System.Int32 ldb
cudaStream_t stream
Returns
Type Description
cublasStatus_t

GetPointerMode(cublasHandle_t, out cublasPointerMode_t)

This function obtains the pointer mode used by the cuBLAS library. Please see the section on the cublasPointerMode_t type for more details. Complete documentation on nvidia documentation

Declaration
public cublasStatus_t GetPointerMode(cublasHandle_t handle, out cublasPointerMode_t mode)
Parameters
Type Name Description
cublasHandle_t handle
cublasPointerMode_t mode
Returns
Type Description
cublasStatus_t

GetStream(cublasHandle_t, out cudaStream_t)

This function gets the cuBLAS library stream, which is being used to execute all calls to the cuBLAS library functions. If the cuBLAS library stream is not set, all kernels use the defaultNULL stream. Complete documentation on nvidia documentation

Declaration
public cublasStatus_t GetStream(cublasHandle_t handle, out cudaStream_t streamId)
Parameters
Type Name Description
cublasHandle_t handle
cudaStream_t streamId
Returns
Type Description
cublasStatus_t

GetVector(Int32, Int32, IntPtr, Int32, IntPtr, Int32)

This function copies n elements from a vector x in GPU memory space to a vector y in host memory space. Elements in both vectors are assumed to have a size of elemSize bytes. The storage spacing between consecutive elements is given by incx for the source vector and incy for the destination vector y. Complete documentation on nvidia documentation

Declaration
public cublasStatus_t GetVector(int n, int elemSize, IntPtr x, int incx, IntPtr y, int incy)
Parameters
Type Name Description
System.Int32 n
System.Int32 elemSize
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

GetVectorAsync(Int32, Int32, IntPtr, Int32, IntPtr, Int32, cudaStream_t)

This function has the same functionality as cublasGetVector(), with the exception that the data transfer is done asynchronously (with respect to the host) using the given CUDA™ stream parameter. Complete documentation on nvidia documentation

Declaration
public cublasStatus_t GetVectorAsync(int n, int elemSize, IntPtr devicePtr, int incx, IntPtr hostPtr, int incy, cudaStream_t stream)
Parameters
Type Name Description
System.Int32 n
System.Int32 elemSize
System.IntPtr devicePtr
System.Int32 incx
System.IntPtr hostPtr
System.Int32 incy
cudaStream_t stream
Returns
Type Description
cublasStatus_t

GetVersion(out Int32)

This function returns the version number of the cuBLAS library. Complete documentation on nvidia documentation

Declaration
public cublasStatus_t GetVersion(out int version)
Parameters
Type Name Description
System.Int32 version
Returns
Type Description
cublasStatus_t

Icamax(cublasHandle_t, Int32, IntPtr, Int32, IntPtr)

This function finds the (smallest) index of the element of the maximum magnitude.

Declaration
public cublasStatus_t Icamax(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr result)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr result
Returns
Type Description
cublasStatus_t

Icamin(cublasHandle_t, Int32, IntPtr, Int32, IntPtr)

This function finds the (smallest) index of the element of the minimum magnitude

Declaration
public cublasStatus_t Icamin(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr result)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr result
Returns
Type Description
cublasStatus_t

Idamax(cublasHandle_t, Int32, IntPtr, Int32, IntPtr)

This function finds the (smallest) index of the element of the maximum magnitude.

Declaration
public cublasStatus_t Idamax(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr result)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr result
Returns
Type Description
cublasStatus_t

Idamin(cublasHandle_t, Int32, IntPtr, Int32, IntPtr)

This function finds the (smallest) index of the element of the minimum magnitude

Declaration
public cublasStatus_t Idamin(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr result)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr result
Returns
Type Description
cublasStatus_t

Isamax(cublasHandle_t, Int32, IntPtr, Int32, IntPtr)

This function finds the (smallest) index of the element of the maximum magnitude.

Declaration
public cublasStatus_t Isamax(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr result)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr result
Returns
Type Description
cublasStatus_t

Isamin(cublasHandle_t, Int32, IntPtr, Int32, IntPtr)

This function finds the (smallest) index of the element of the minimum magnitude

Declaration
public cublasStatus_t Isamin(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr result)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr result
Returns
Type Description
cublasStatus_t

Izamax(cublasHandle_t, Int32, IntPtr, Int32, IntPtr)

This function finds the (smallest) index of the element of the maximum magnitude.

Declaration
public cublasStatus_t Izamax(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr result)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr result
Returns
Type Description
cublasStatus_t

Izamin(cublasHandle_t, Int32, IntPtr, Int32, IntPtr)

This function finds the (smallest) index of the element of the minimum magnitude

Declaration
public cublasStatus_t Izamin(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr result)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr result
Returns
Type Description
cublasStatus_t

Sasum(cublasHandle_t, Int32, IntPtr, Int32, IntPtr)

This function computes the sum of the absolute values of the elements of vector x

Declaration
public cublasStatus_t Sasum(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr result)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr result
Returns
Type Description
cublasStatus_t

Saxpy(cublasHandle_t, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32)

This function multiplies the vector x by the scalar α and adds it to the vector y overwriting the latest vector with the result

Declaration
public cublasStatus_t Saxpy(cublasHandle_t handle, int n, IntPtr alpha, IntPtr x, int incx, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Scasum(cublasHandle_t, Int32, IntPtr, Int32, IntPtr)

This function computes the sum of the absolute values of the elements of vector x

Declaration
public cublasStatus_t Scasum(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr result)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr result
Returns
Type Description
cublasStatus_t

Scnrm2(cublasHandle_t, Int32, IntPtr, Int32, IntPtr)

This function computes the Euclidean norm of the vector x

Declaration
public cublasStatus_t Scnrm2(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr result)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr result
Returns
Type Description
cublasStatus_t

Scopy(cublasHandle_t, Int32, IntPtr, Int32, IntPtr, Int32)

This function copies the vector x into the vector y.

Declaration
public cublasStatus_t Scopy(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Sdot(cublasHandle_t, Int32, IntPtr, Int32, IntPtr, Int32, IntPtr)

This function computes the dot product of vectors x and y

Declaration
public cublasStatus_t Sdot(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr y, int incy, IntPtr result)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
System.IntPtr result
Returns
Type Description
cublasStatus_t

SetAtomicsMode(cublasHandle_t, cublasAtomicsMode_t)

Some routines like cublas<t>symv and cublas<t>hemv have an alternate implementation that use atomics to cumulate results. This implementation is generally significantly faster but can generate results that are not strictly identical from one run to the others. Mathematically, those different results are not significant but when debugging those differences can be prejudicial. This function allows or disallows the usage of atomics in the cuBLAS library for all routines which have an alternate implementation. When not explicitly specified in the documentation of any cuBLAS routine, it means that this routine does not have an alternate implementation that use atomics. When atomics mode is disabled, each cuBLAS routine should produce the same results from one run to the other when called with identical parameters on the same Hardware. Complete documentation on nvidia documentation

Declaration
public cublasStatus_t SetAtomicsMode(cublasHandle_t handle, cublasAtomicsMode_t mode)
Parameters
Type Name Description
cublasHandle_t handle
cublasAtomicsMode_t mode
Returns
Type Description
cublasStatus_t

SetMatrix(Int32, Int32, Int32, IntPtr, Int32, IntPtr, Int32)

This function copies a tile of rows x cols elements from a matrix A in host memory space to a matrix B in GPU memory space. It is assumed that each element requires storage of elemSize bytes and that both matrices are stored in column-major format, with the leading dimension of the source matrix A and destination matrix B given in lda and ldb, respectively. The leading dimension indicates the number of rows of the allocated matrix, even if only a submatrix of it is being used. In general, B is a device pointer that points to an object, or part of an object, that was allocated in GPU memory space via cublasAlloc(). Complete documentation on nvidia documentation

Declaration
public cublasStatus_t SetMatrix(int rows, int cols, int elemSize, IntPtr A, int lda, IntPtr B, int ldb)
Parameters
Type Name Description
System.Int32 rows
System.Int32 cols
System.Int32 elemSize
System.IntPtr A
System.Int32 lda
System.IntPtr B
System.Int32 ldb
Returns
Type Description
cublasStatus_t

SetMatrixAsync(Int32, Int32, Int32, IntPtr, Int32, IntPtr, Int32, cudaStream_t)

This function has the same functionality as cublasSetMatrix(), with the exception that the data transfer is done asynchronously (with respect to the host) using the given CUDA™ stream parameter. Complete documentation on nvidia documentation

Declaration
public cublasStatus_t SetMatrixAsync(int rows, int cols, int elemSize, IntPtr A, int lda, IntPtr B, int ldb, cudaStream_t stream)
Parameters
Type Name Description
System.Int32 rows
System.Int32 cols
System.Int32 elemSize
System.IntPtr A
System.Int32 lda
System.IntPtr B
System.Int32 ldb
cudaStream_t stream
Returns
Type Description
cublasStatus_t

SetPointerMode(cublasHandle_t, cublasPointerMode_t)

This function sets the pointer mode used by the cuBLAS library. The default is for the values to be passed by reference on the host. Please see the section on the cublasPointerMode_t type for more details. Complete documentation on nvidia documentation

Declaration
public cublasStatus_t SetPointerMode(cublasHandle_t handle, cublasPointerMode_t mode)
Parameters
Type Name Description
cublasHandle_t handle
cublasPointerMode_t mode
Returns
Type Description
cublasStatus_t

SetStream(cublasHandle_t, cudaStream_t)

This function sets the cuBLAS library stream, which will be used to execute all subsequent calls to the cuBLAS library functions. If the cuBLAS library stream is not set, all kernels use the defaultNULL stream. In particular, this routine can be used to change the stream between kernel launches and then to reset the cuBLAS library stream back to NULL. Complete documentation on nvidia documentation

Declaration
public cublasStatus_t SetStream(cublasHandle_t handle, cudaStream_t streamId)
Parameters
Type Name Description
cublasHandle_t handle
cudaStream_t streamId
Returns
Type Description
cublasStatus_t

SetVector(Int32, Int32, IntPtr, Int32, IntPtr, Int32)

This function copies n elements from a vector x in host memory space to a vector y in GPU memory space. Elements in both vectors are assumed to have a size of elemSize bytes. The storage spacing between consecutive elements is given by incx for the source vector x and by incy for the destination vector y. Complete documentation on nvidia documentation

Declaration
public cublasStatus_t SetVector(int n, int elemSize, IntPtr x, int incx, IntPtr y, int incy)
Parameters
Type Name Description
System.Int32 n
System.Int32 elemSize
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

SetVectorAsync(Int32, Int32, IntPtr, Int32, IntPtr, Int32, cudaStream_t)

This function has the same functionality as cublasSetVector(), with the exception that the data transfer is done asynchronously (with respect to the host) using the given CUDA™ stream parameter. Complete documentation on nvidia documentation

Declaration
public cublasStatus_t SetVectorAsync(int n, int elemSize, IntPtr hostPtr, int incx, IntPtr devicePtr, int incy, cudaStream_t stream)
Parameters
Type Name Description
System.Int32 n
System.Int32 elemSize
System.IntPtr hostPtr
System.Int32 incx
System.IntPtr devicePtr
System.Int32 incy
cudaStream_t stream
Returns
Type Description
cublasStatus_t

Sgbmv(cublasHandle_t, cublasOperation_t, Int32, Int32, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the banded matrix-vector multiplication y = α op(A ) x + β y Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Sgbmv(cublasHandle_t handle, cublasOperation_t trans, int m, int n, int kl, int ku, IntPtr alpha, IntPtr A, int lda, IntPtr x, int incx, IntPtr beta, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
cublasOperation_t trans
System.Int32 m
System.Int32 n
System.Int32 kl
System.Int32 ku
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
System.IntPtr beta
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Sgemm(cublasHandle_t, cublasOperation_t, cublasOperation_t, Int32, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the matrix-matrix multiplication C = α op(A ) op(B ) + β C

Declaration
public cublasStatus_t Sgemm(cublasHandle_t handle, cublasOperation_t transa, cublasOperation_t transb, int m, int n, int k, IntPtr alpha, IntPtr A, int lda, IntPtr B, int ldb, IntPtr beta, IntPtr C, int ldc)
Parameters
Type Name Description
cublasHandle_t handle
cublasOperation_t transa
cublasOperation_t transb
System.Int32 m
System.Int32 n
System.Int32 k
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr B
System.Int32 ldb
System.IntPtr beta
System.IntPtr C
System.Int32 ldc
Returns
Type Description
cublasStatus_t

Sgemv(cublasHandle_t, cublasOperation_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the matrix-vector multiplication y = α op(A ) x + β y Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Sgemv(cublasHandle_t handle, cublasOperation_t trans, int m, int n, IntPtr alpha, IntPtr A, int lda, IntPtr x, int incx, IntPtr beta, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
cublasOperation_t trans
System.Int32 m
System.Int32 n
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
System.IntPtr beta
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Sger(cublasHandle_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, Int32)

This function performs the rank-1 update A = α x y^T + A if ger(),geru() is called or α x y^H + A if gerc() is called Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Sger(cublasHandle_t handle, int m, int n, IntPtr alpha, IntPtr x, int incx, IntPtr y, int incy, IntPtr A, int lda)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 m
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
System.IntPtr A
System.Int32 lda
Returns
Type Description
cublasStatus_t

Snrm2(cublasHandle_t, Int32, IntPtr, Int32, IntPtr)

This function computes the Euclidean norm of the vector x

Declaration
public cublasStatus_t Snrm2(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr result)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr result
Returns
Type Description
cublasStatus_t

Srot(cublasHandle_t, Int32, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr)

This function applies Givens rotation matrix (c, s; -s, c)

Declaration
public cublasStatus_t Srot(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr y, int incy, IntPtr c, IntPtr s)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
System.IntPtr c
System.IntPtr s
Returns
Type Description
cublasStatus_t

Srotg(cublasHandle_t, IntPtr, IntPtr, IntPtr, IntPtr)

This function constructs the Givens rotation matrix (c, s; -s, c)

Declaration
public cublasStatus_t Srotg(cublasHandle_t handle, IntPtr a, IntPtr b, IntPtr c, IntPtr s)
Parameters
Type Name Description
cublasHandle_t handle
System.IntPtr a
System.IntPtr b
System.IntPtr c
System.IntPtr s
Returns
Type Description
cublasStatus_t

Srotm(cublasHandle_t, Int32, IntPtr, Int32, IntPtr, Int32, IntPtr)

This function applies the modified Givens transformation (h11, h12; h21, h22) Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Srotm(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr y, int incy, IntPtr param)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
System.IntPtr param
Returns
Type Description
cublasStatus_t

Srotmg(cublasHandle_t, IntPtr, IntPtr, IntPtr, IntPtr, IntPtr)

This function constructs the modified Givens transformation (h11, h12; h21, h22) Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Srotmg(cublasHandle_t handle, IntPtr d1, IntPtr d2, IntPtr x1, IntPtr y1, IntPtr param)
Parameters
Type Name Description
cublasHandle_t handle
System.IntPtr d1
System.IntPtr d2
System.IntPtr x1
System.IntPtr y1
System.IntPtr param
Returns
Type Description
cublasStatus_t

Ssbmv(cublasHandle_t, cublasFillMode_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the symmetric banded matrix-vector multiplication Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Ssbmv(cublasHandle_t handle, cublasFillMode_t uplo, int n, int k, IntPtr alpha, IntPtr A, int lda, IntPtr x, int incx, IntPtr beta, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.Int32 k
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
System.IntPtr beta
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Sscal(cublasHandle_t, Int32, IntPtr, IntPtr, Int32)

This function scales the vector x by the scalar α and overwrites it with the result

Declaration
public cublasStatus_t Sscal(cublasHandle_t handle, int n, IntPtr alpha, IntPtr x, int incx)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
Returns
Type Description
cublasStatus_t

Sspmv(cublasHandle_t, cublasFillMode_t, Int32, IntPtr, IntPtr, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the symmetric packed matrix-vector multiplication y = α A x + β y Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Sspmv(cublasHandle_t handle, cublasFillMode_t uplo, int n, IntPtr alpha, IntPtr AP, IntPtr x, int incx, IntPtr beta, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.IntPtr alpha
System.IntPtr AP
System.IntPtr x
System.Int32 incx
System.IntPtr beta
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Sspr(cublasHandle_t, cublasFillMode_t, Int32, IntPtr, IntPtr, Int32, IntPtr)

This function performs the packed symmetric rank-1 update A = α x x^T + A Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Sspr(cublasHandle_t handle, cublasFillMode_t uplo, int n, IntPtr alpha, IntPtr x, int incx, IntPtr AP)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
System.IntPtr AP
Returns
Type Description
cublasStatus_t

Sspr2(cublasHandle_t, cublasFillMode_t, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr)

This function performs the packed symmetric rank-2 update A = α(x y^T + y x^T) + A Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Sspr2(cublasHandle_t handle, cublasFillMode_t uplo, int n, IntPtr alpha, IntPtr x, int incx, IntPtr y, int incy, IntPtr AP)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
System.IntPtr AP
Returns
Type Description
cublasStatus_t

Sswap(cublasHandle_t, Int32, IntPtr, Int32, IntPtr, Int32)

This function interchanges the elements of vector x and y

Declaration
public cublasStatus_t Sswap(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Ssymm(cublasHandle_t, cublasSideMode_t, cublasFillMode_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the symmetric matrix-matrix multiplication C = α A B + β C if side == CUBLAS_SIDE_LEFT ; α B A + β C if side == CUBLAS_SIDE_RIGHT

Declaration
public cublasStatus_t Ssymm(cublasHandle_t handle, cublasSideMode_t side, cublasFillMode_t uplo, int m, int n, IntPtr alpha, IntPtr A, int lda, IntPtr B, int ldb, IntPtr beta, IntPtr C, int ldc)
Parameters
Type Name Description
cublasHandle_t handle
cublasSideMode_t side
cublasFillMode_t uplo
System.Int32 m
System.Int32 n
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr B
System.Int32 ldb
System.IntPtr beta
System.IntPtr C
System.Int32 ldc
Returns
Type Description
cublasStatus_t

Ssymv(cublasHandle_t, cublasFillMode_t, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the symmetric matrix-vector multiplication. y = α A x + β y Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Ssymv(cublasHandle_t handle, cublasFillMode_t uplo, int n, IntPtr alpha, IntPtr A, int lda, IntPtr x, int incx, IntPtr beta, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
System.IntPtr beta
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Ssyr(cublasHandle_t, cublasFillMode_t, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32)

This function performs the symmetric rank-1 update A = α x xT + A Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Ssyr(cublasHandle_t handle, cublasFillMode_t uplo, int n, IntPtr alpha, IntPtr x, int incx, IntPtr A, int lda)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
System.IntPtr A
System.Int32 lda
Returns
Type Description
cublasStatus_t

Ssyr2(cublasHandle_t, cublasFillMode_t, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, Int32)

This function performs the symmetric rank-2 update A = α (x yT + y x T) + A Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Ssyr2(cublasHandle_t handle, cublasFillMode_t uplo, int n, IntPtr alpha, IntPtr x, int incx, IntPtr y, int incy, IntPtr A, int lda)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
System.IntPtr A
System.Int32 lda
Returns
Type Description
cublasStatus_t

Ssyr2k(cublasHandle_t, cublasFillMode_t, cublasOperation_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the symmetric rank- 2 k update C = α ( op ( A ) op ( B )T + op ( B ) op ( A )T ) + β C

Declaration
public cublasStatus_t Ssyr2k(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, int n, int k, IntPtr alpha, IntPtr A, int lda, IntPtr B, int ldb, IntPtr beta, IntPtr C, int ldc)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
System.Int32 n
System.Int32 k
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr B
System.Int32 ldb
System.IntPtr beta
System.IntPtr C
System.Int32 ldc
Returns
Type Description
cublasStatus_t

Ssyrk(cublasHandle_t, cublasFillMode_t, cublasOperation_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the symmetric rank- k update C = α op(A ) op(A )T + β C

Declaration
public cublasStatus_t Ssyrk(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, int n, int k, IntPtr alpha, IntPtr A, int lda, IntPtr beta, IntPtr C, int ldc)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
System.Int32 n
System.Int32 k
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr beta
System.IntPtr C
System.Int32 ldc
Returns
Type Description
cublasStatus_t

Stbmv(cublasHandle_t, cublasFillMode_t, cublasOperation_t, cublasDiagType_t, Int32, Int32, IntPtr, Int32, IntPtr, Int32)

This function performs the triangular banded matrix-vector multiplication x = op(A) x

Declaration
public cublasStatus_t Stbmv(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int n, int k, IntPtr A, int lda, IntPtr x, int incx)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
cublasDiagType_t diag
System.Int32 n
System.Int32 k
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
Returns
Type Description
cublasStatus_t

Stbsv(cublasHandle_t, cublasFillMode_t, cublasOperation_t, cublasDiagType_t, Int32, Int32, IntPtr, Int32, IntPtr, Int32)

This function solves the triangular banded linear system with a single right-hand-side op(A) x = b

Declaration
public cublasStatus_t Stbsv(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int n, int k, IntPtr A, int lda, IntPtr x, int incx)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
cublasDiagType_t diag
System.Int32 n
System.Int32 k
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
Returns
Type Description
cublasStatus_t

Stpmv(cublasHandle_t, cublasFillMode_t, cublasOperation_t, cublasDiagType_t, Int32, IntPtr, IntPtr, Int32)

This function performs the triangular packed matrix-vector multiplication x = op (A) x

Declaration
public cublasStatus_t Stpmv(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int n, IntPtr AP, IntPtr x, int incx)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
cublasDiagType_t diag
System.Int32 n
System.IntPtr AP
System.IntPtr x
System.Int32 incx
Returns
Type Description
cublasStatus_t

Stpsv(cublasHandle_t, cublasFillMode_t, cublasOperation_t, cublasDiagType_t, Int32, IntPtr, IntPtr, Int32)

This function solves the packed triangular linear system with a single right-hand-side op(A) x = b

Declaration
public cublasStatus_t Stpsv(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int n, IntPtr AP, IntPtr x, int incx)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
cublasDiagType_t diag
System.Int32 n
System.IntPtr AP
System.IntPtr x
System.Int32 incx
Returns
Type Description
cublasStatus_t

Strmm(cublasHandle_t, cublasSideMode_t, cublasFillMode_t, cublasOperation_t, cublasDiagType_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, Int32)

This function performs the triangular matrix-matrix multiplication C = α op ( A ) B if side == CUBLAS_SIDE_LEFT ; α B op ( A ) if side == CUBLAS_SIDE_RIGHT

Declaration
public cublasStatus_t Strmm(cublasHandle_t handle, cublasSideMode_t side, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int m, int n, IntPtr alpha, IntPtr A, int lda, IntPtr B, int ldb, IntPtr C, int ldc)
Parameters
Type Name Description
cublasHandle_t handle
cublasSideMode_t side
cublasFillMode_t uplo
cublasOperation_t trans
cublasDiagType_t diag
System.Int32 m
System.Int32 n
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr B
System.Int32 ldb
System.IntPtr C
System.Int32 ldc
Returns
Type Description
cublasStatus_t

Strmv(cublasHandle_t, cublasFillMode_t, cublasOperation_t, cublasDiagType_t, Int32, IntPtr, Int32, IntPtr, Int32)

This function performs the triangular matrix-vector multiplication x = op(A) x

Declaration
public cublasStatus_t Strmv(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int n, IntPtr A, int lda, IntPtr x, int incx)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
cublasDiagType_t diag
System.Int32 n
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
Returns
Type Description
cublasStatus_t

Strsm(cublasHandle_t, cublasSideMode_t, cublasFillMode_t, cublasOperation_t, cublasDiagType_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32)

This function solves the triangular linear system with multiple right-hand-sides : op ( A ) X = α B if side == CUBLAS_SIDE_LEFT ; X op ( A ) = α B if side == CUBLAS_SIDE_RIGHT

Declaration
public cublasStatus_t Strsm(cublasHandle_t handle, cublasSideMode_t side, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int m, int n, IntPtr alpha, IntPtr A, int lda, IntPtr B, int ldb)
Parameters
Type Name Description
cublasHandle_t handle
cublasSideMode_t side
cublasFillMode_t uplo
cublasOperation_t trans
cublasDiagType_t diag
System.Int32 m
System.Int32 n
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr B
System.Int32 ldb
Returns
Type Description
cublasStatus_t

Strsv(cublasHandle_t, cublasFillMode_t, cublasOperation_t, cublasDiagType_t, Int32, IntPtr, Int32, IntPtr, Int32)

This function solves the triangular linear system with a single right-hand-side op(A) x = b

Declaration
public cublasStatus_t Strsv(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int n, IntPtr A, int lda, IntPtr x, int incx)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
cublasDiagType_t diag
System.Int32 n
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
Returns
Type Description
cublasStatus_t

Zaxpy(cublasHandle_t, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32)

This function multiplies the vector x by the scalar α and adds it to the vector y overwriting the latest vector with the result

Declaration
public cublasStatus_t Zaxpy(cublasHandle_t handle, int n, IntPtr alpha, IntPtr x, int incx, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Zcopy(cublasHandle_t, Int32, IntPtr, Int32, IntPtr, Int32)

This function copies the vector x into the vector y.

Declaration
public cublasStatus_t Zcopy(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Zdotc(cublasHandle_t, Int32, IntPtr, Int32, IntPtr, Int32, IntPtr)

This function computes the dot product of vectors x and y

Declaration
public cublasStatus_t Zdotc(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr y, int incy, IntPtr result)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
System.IntPtr result
Returns
Type Description
cublasStatus_t

Zdotu(cublasHandle_t, Int32, IntPtr, Int32, IntPtr, Int32, IntPtr)

This function computes the dot product of vectors x and y

Declaration
public cublasStatus_t Zdotu(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr y, int incy, IntPtr result)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
System.IntPtr result
Returns
Type Description
cublasStatus_t

Zdrot(cublasHandle_t, Int32, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr)

This function applies Givens rotation matrix (c, s; -s, c)

Declaration
public cublasStatus_t Zdrot(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr y, int incy, IntPtr c, IntPtr s)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
System.IntPtr c
System.IntPtr s
Returns
Type Description
cublasStatus_t

Zdscal(cublasHandle_t, Int32, IntPtr, IntPtr, Int32)

This function scales the vector x by the scalar α and overwrites it with the result

Declaration
public cublasStatus_t Zdscal(cublasHandle_t handle, int n, IntPtr alpha, IntPtr x, int incx)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
Returns
Type Description
cublasStatus_t

Zgbmv(cublasHandle_t, cublasOperation_t, Int32, Int32, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the banded matrix-vector multiplication y = α op(A ) x + β y Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Zgbmv(cublasHandle_t handle, cublasOperation_t trans, int m, int n, int kl, int ku, IntPtr alpha, IntPtr A, int lda, IntPtr x, int incx, IntPtr beta, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
cublasOperation_t trans
System.Int32 m
System.Int32 n
System.Int32 kl
System.Int32 ku
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
System.IntPtr beta
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Zgemm(cublasHandle_t, cublasOperation_t, cublasOperation_t, Int32, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the matrix-matrix multiplication C = α op(A ) op(B ) + β C

Declaration
public cublasStatus_t Zgemm(cublasHandle_t handle, cublasOperation_t transa, cublasOperation_t transb, int m, int n, int k, IntPtr alpha, IntPtr A, int lda, IntPtr B, int ldb, IntPtr beta, IntPtr C, int ldc)
Parameters
Type Name Description
cublasHandle_t handle
cublasOperation_t transa
cublasOperation_t transb
System.Int32 m
System.Int32 n
System.Int32 k
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr B
System.Int32 ldb
System.IntPtr beta
System.IntPtr C
System.Int32 ldc
Returns
Type Description
cublasStatus_t

Zgemv(cublasHandle_t, cublasOperation_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the matrix-vector multiplication y = α op(A ) x + β y Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Zgemv(cublasHandle_t handle, cublasOperation_t trans, int m, int n, IntPtr alpha, IntPtr A, int lda, IntPtr x, int incx, IntPtr beta, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
cublasOperation_t trans
System.Int32 m
System.Int32 n
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
System.IntPtr beta
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Zgerc(cublasHandle_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, Int32)

This function performs the rank-1 update A = α x y^T + A if ger(),geru() is called or α x y^H + A if gerc() is called Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Zgerc(cublasHandle_t handle, int m, int n, IntPtr alpha, IntPtr x, int incx, IntPtr y, int incy, IntPtr A, int lda)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 m
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
System.IntPtr A
System.Int32 lda
Returns
Type Description
cublasStatus_t

Zgeru(cublasHandle_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, Int32)

This function performs the rank-1 update A = α x y^T + A if ger(),geru() is called or α x y^H + A if gerc() is called Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Zgeru(cublasHandle_t handle, int m, int n, IntPtr alpha, IntPtr x, int incx, IntPtr y, int incy, IntPtr A, int lda)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 m
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
System.IntPtr A
System.Int32 lda
Returns
Type Description
cublasStatus_t

Zhbmv(cublasHandle_t, cublasFillMode_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the Hermitian banded matrix-vector multiplication y = α A x + β y

Declaration
public cublasStatus_t Zhbmv(cublasHandle_t handle, cublasFillMode_t uplo, int n, int k, IntPtr alpha, IntPtr A, int lda, IntPtr x, int incx, IntPtr beta, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.Int32 k
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
System.IntPtr beta
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Zhemm(cublasHandle_t, cublasSideMode_t, cublasFillMode_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the Hermitian matrix-matrix multiplication : C = α A B + β C if side == CUBLAS_SIDE_LEFT ; α B A + β C if side == CUBLAS_SIDE_RIGHT

Declaration
public cublasStatus_t Zhemm(cublasHandle_t handle, cublasSideMode_t side, cublasFillMode_t uplo, int m, int n, IntPtr alpha, IntPtr A, int lda, IntPtr B, int ldb, IntPtr beta, IntPtr C, int ldc)
Parameters
Type Name Description
cublasHandle_t handle
cublasSideMode_t side
cublasFillMode_t uplo
System.Int32 m
System.Int32 n
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr B
System.Int32 ldb
System.IntPtr beta
System.IntPtr C
System.Int32 ldc
Returns
Type Description
cublasStatus_t

Zhemv(cublasHandle_t, cublasFillMode_t, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the Hermitian matrix-vector multiplication y = α A x + β y

Declaration
public cublasStatus_t Zhemv(cublasHandle_t handle, cublasFillMode_t uplo, int n, IntPtr alpha, IntPtr A, int lda, IntPtr x, int incx, IntPtr beta, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
System.IntPtr beta
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Zher(cublasHandle_t, cublasFillMode_t, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32)

This function performs the Hermitian rank-1 update A = α x xH + A

Declaration
public cublasStatus_t Zher(cublasHandle_t handle, cublasFillMode_t uplo, int n, IntPtr alpha, IntPtr x, int incx, IntPtr A, int lda)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
System.IntPtr A
System.Int32 lda
Returns
Type Description
cublasStatus_t

Zher2(cublasHandle_t, cublasFillMode_t, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, Int32)

This function performs the Hermitian rank-2 update A = α x yH + conj(α) y x H + A

Declaration
public cublasStatus_t Zher2(cublasHandle_t handle, cublasFillMode_t uplo, int n, IntPtr alpha, IntPtr x, int incx, IntPtr y, int incy, IntPtr A, int lda)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
System.IntPtr A
System.Int32 lda
Returns
Type Description
cublasStatus_t

Zher2k(cublasHandle_t, cublasFillMode_t, cublasOperation_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the Hermitian rank-2 k update C = α op ( A ) op ( B )H + conj(α) op ( B ) op ( A )H + β C

Declaration
public cublasStatus_t Zher2k(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, int n, int k, IntPtr alpha, IntPtr A, int lda, IntPtr B, int ldb, IntPtr beta, IntPtr C, int ldc)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
System.Int32 n
System.Int32 k
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr B
System.Int32 ldb
System.IntPtr beta
System.IntPtr C
System.Int32 ldc
Returns
Type Description
cublasStatus_t

Zherk(cublasHandle_t, cublasFillMode_t, cublasOperation_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the Hermitian rank-k update : C = α op ( A ) op ( A ) H + β C

Declaration
public cublasStatus_t Zherk(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, int n, int k, IntPtr alpha, IntPtr A, int lda, IntPtr beta, IntPtr C, int ldc)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
System.Int32 n
System.Int32 k
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr beta
System.IntPtr C
System.Int32 ldc
Returns
Type Description
cublasStatus_t

Zhpmv(cublasHandle_t, cublasFillMode_t, Int32, IntPtr, IntPtr, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the Hermitian packed matrix-vector multiplication y = α A x + β y

Declaration
public cublasStatus_t Zhpmv(cublasHandle_t handle, cublasFillMode_t uplo, int n, IntPtr alpha, IntPtr AP, IntPtr x, int incx, IntPtr beta, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.IntPtr alpha
System.IntPtr AP
System.IntPtr x
System.Int32 incx
System.IntPtr beta
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Zhpr(cublasHandle_t, cublasFillMode_t, Int32, IntPtr, IntPtr, Int32, IntPtr)

This function performs the packed Hermitian rank-1 update A = α x xH + A

Declaration
public cublasStatus_t Zhpr(cublasHandle_t handle, cublasFillMode_t uplo, int n, IntPtr alpha, IntPtr x, int incx, IntPtr AP)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
System.IntPtr AP
Returns
Type Description
cublasStatus_t

Zhpr2(cublasHandle_t, cublasFillMode_t, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr)

This function performs the packed Hermitian rank-2 update A = α x yH + conj(α) y x H + A

Declaration
public cublasStatus_t Zhpr2(cublasHandle_t handle, cublasFillMode_t uplo, int n, IntPtr alpha, IntPtr x, int incx, IntPtr y, int incy, IntPtr AP)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
System.IntPtr AP
Returns
Type Description
cublasStatus_t

Zrot(cublasHandle_t, Int32, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr)

This function applies Givens rotation matrix (c, s; -s, c)

Declaration
public cublasStatus_t Zrot(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr y, int incy, IntPtr c, IntPtr s)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
System.IntPtr c
System.IntPtr s
Returns
Type Description
cublasStatus_t

Zrotg(cublasHandle_t, IntPtr, IntPtr, IntPtr, IntPtr)

This function constructs the Givens rotation matrix (c, s; -s, c)

Declaration
public cublasStatus_t Zrotg(cublasHandle_t handle, IntPtr a, IntPtr b, IntPtr c, IntPtr s)
Parameters
Type Name Description
cublasHandle_t handle
System.IntPtr a
System.IntPtr b
System.IntPtr c
System.IntPtr s
Returns
Type Description
cublasStatus_t

Zscal(cublasHandle_t, Int32, IntPtr, IntPtr, Int32)

This function scales the vector x by the scalar α and overwrites it with the result

Declaration
public cublasStatus_t Zscal(cublasHandle_t handle, int n, IntPtr alpha, IntPtr x, int incx)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
Returns
Type Description
cublasStatus_t

Zswap(cublasHandle_t, Int32, IntPtr, Int32, IntPtr, Int32)

This function interchanges the elements of vector x and y

Declaration
public cublasStatus_t Zswap(cublasHandle_t handle, int n, IntPtr x, int incx, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
System.Int32 n
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Zsymm(cublasHandle_t, cublasSideMode_t, cublasFillMode_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the symmetric matrix-matrix multiplication C = α A B + β C if side == CUBLAS_SIDE_LEFT ; α B A + β C if side == CUBLAS_SIDE_RIGHT

Declaration
public cublasStatus_t Zsymm(cublasHandle_t handle, cublasSideMode_t side, cublasFillMode_t uplo, int m, int n, IntPtr alpha, IntPtr A, int lda, IntPtr B, int ldb, IntPtr beta, IntPtr C, int ldc)
Parameters
Type Name Description
cublasHandle_t handle
cublasSideMode_t side
cublasFillMode_t uplo
System.Int32 m
System.Int32 n
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr B
System.Int32 ldb
System.IntPtr beta
System.IntPtr C
System.Int32 ldc
Returns
Type Description
cublasStatus_t

Zsymv(cublasHandle_t, cublasFillMode_t, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the symmetric matrix-vector multiplication. y = α A x + β y Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Zsymv(cublasHandle_t handle, cublasFillMode_t uplo, int n, IntPtr alpha, IntPtr A, int lda, IntPtr x, int incx, IntPtr beta, IntPtr y, int incy)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
System.IntPtr beta
System.IntPtr y
System.Int32 incy
Returns
Type Description
cublasStatus_t

Zsyr(cublasHandle_t, cublasFillMode_t, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32)

This function performs the symmetric rank-1 update A = α x xT + A Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Zsyr(cublasHandle_t handle, cublasFillMode_t uplo, int n, IntPtr alpha, IntPtr x, int incx, IntPtr A, int lda)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
System.IntPtr A
System.Int32 lda
Returns
Type Description
cublasStatus_t

Zsyr2(cublasHandle_t, cublasFillMode_t, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, Int32)

This function performs the symmetric rank-2 update A = α (x yT + y x T) + A Complete documentation on Nvidia documentation

Declaration
public cublasStatus_t Zsyr2(cublasHandle_t handle, cublasFillMode_t uplo, int n, IntPtr alpha, IntPtr x, int incx, IntPtr y, int incy, IntPtr A, int lda)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
System.Int32 n
System.IntPtr alpha
System.IntPtr x
System.Int32 incx
System.IntPtr y
System.Int32 incy
System.IntPtr A
System.Int32 lda
Returns
Type Description
cublasStatus_t

Zsyr2k(cublasHandle_t, cublasFillMode_t, cublasOperation_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the symmetric rank- 2 k update C = α ( op ( A ) op ( B )T + op ( B ) op ( A )T ) + β C

Declaration
public cublasStatus_t Zsyr2k(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, int n, int k, IntPtr alpha, IntPtr A, int lda, IntPtr B, int ldb, IntPtr beta, IntPtr C, int ldc)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
System.Int32 n
System.Int32 k
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr B
System.Int32 ldb
System.IntPtr beta
System.IntPtr C
System.Int32 ldc
Returns
Type Description
cublasStatus_t

Zsyrk(cublasHandle_t, cublasFillMode_t, cublasOperation_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, IntPtr, Int32)

This function performs the symmetric rank- k update C = α op(A ) op(A )T + β C

Declaration
public cublasStatus_t Zsyrk(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, int n, int k, IntPtr alpha, IntPtr A, int lda, IntPtr beta, IntPtr C, int ldc)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
System.Int32 n
System.Int32 k
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr beta
System.IntPtr C
System.Int32 ldc
Returns
Type Description
cublasStatus_t

Ztbmv(cublasHandle_t, cublasFillMode_t, cublasOperation_t, cublasDiagType_t, Int32, Int32, IntPtr, Int32, IntPtr, Int32)

This function performs the triangular banded matrix-vector multiplication x = op(A) x

Declaration
public cublasStatus_t Ztbmv(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int n, int k, IntPtr A, int lda, IntPtr x, int incx)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
cublasDiagType_t diag
System.Int32 n
System.Int32 k
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
Returns
Type Description
cublasStatus_t

Ztbsv(cublasHandle_t, cublasFillMode_t, cublasOperation_t, cublasDiagType_t, Int32, Int32, IntPtr, Int32, IntPtr, Int32)

This function solves the triangular banded linear system with a single right-hand-side op(A) x = b

Declaration
public cublasStatus_t Ztbsv(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int n, int k, IntPtr A, int lda, IntPtr x, int incx)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
cublasDiagType_t diag
System.Int32 n
System.Int32 k
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
Returns
Type Description
cublasStatus_t

Ztpmv(cublasHandle_t, cublasFillMode_t, cublasOperation_t, cublasDiagType_t, Int32, IntPtr, IntPtr, Int32)

This function performs the triangular packed matrix-vector multiplication x = op (A) x

Declaration
public cublasStatus_t Ztpmv(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int n, IntPtr AP, IntPtr x, int incx)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
cublasDiagType_t diag
System.Int32 n
System.IntPtr AP
System.IntPtr x
System.Int32 incx
Returns
Type Description
cublasStatus_t

Ztpsv(cublasHandle_t, cublasFillMode_t, cublasOperation_t, cublasDiagType_t, Int32, IntPtr, IntPtr, Int32)

This function solves the packed triangular linear system with a single right-hand-side op(A) x = b

Declaration
public cublasStatus_t Ztpsv(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int n, IntPtr AP, IntPtr x, int incx)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
cublasDiagType_t diag
System.Int32 n
System.IntPtr AP
System.IntPtr x
System.Int32 incx
Returns
Type Description
cublasStatus_t

Ztrmm(cublasHandle_t, cublasSideMode_t, cublasFillMode_t, cublasOperation_t, cublasDiagType_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32, IntPtr, Int32)

This function performs the triangular matrix-matrix multiplication C = α op ( A ) B if side == CUBLAS_SIDE_LEFT ; α B op ( A ) if side == CUBLAS_SIDE_RIGHT

Declaration
public cublasStatus_t Ztrmm(cublasHandle_t handle, cublasSideMode_t side, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int m, int n, IntPtr alpha, IntPtr A, int lda, IntPtr B, int ldb, IntPtr C, int ldc)
Parameters
Type Name Description
cublasHandle_t handle
cublasSideMode_t side
cublasFillMode_t uplo
cublasOperation_t trans
cublasDiagType_t diag
System.Int32 m
System.Int32 n
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr B
System.Int32 ldb
System.IntPtr C
System.Int32 ldc
Returns
Type Description
cublasStatus_t

Ztrmv(cublasHandle_t, cublasFillMode_t, cublasOperation_t, cublasDiagType_t, Int32, IntPtr, Int32, IntPtr, Int32)

This function performs the triangular matrix-vector multiplication x = op(A) x

Declaration
public cublasStatus_t Ztrmv(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int n, IntPtr A, int lda, IntPtr x, int incx)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
cublasDiagType_t diag
System.Int32 n
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
Returns
Type Description
cublasStatus_t

Ztrsm(cublasHandle_t, cublasSideMode_t, cublasFillMode_t, cublasOperation_t, cublasDiagType_t, Int32, Int32, IntPtr, IntPtr, Int32, IntPtr, Int32)

This function solves the triangular linear system with multiple right-hand-sides : op ( A ) X = α B if side == CUBLAS_SIDE_LEFT ; X op ( A ) = α B if side == CUBLAS_SIDE_RIGHT

Declaration
public cublasStatus_t Ztrsm(cublasHandle_t handle, cublasSideMode_t side, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int m, int n, IntPtr alpha, IntPtr A, int lda, IntPtr B, int ldb)
Parameters
Type Name Description
cublasHandle_t handle
cublasSideMode_t side
cublasFillMode_t uplo
cublasOperation_t trans
cublasDiagType_t diag
System.Int32 m
System.Int32 n
System.IntPtr alpha
System.IntPtr A
System.Int32 lda
System.IntPtr B
System.Int32 ldb
Returns
Type Description
cublasStatus_t

Ztrsv(cublasHandle_t, cublasFillMode_t, cublasOperation_t, cublasDiagType_t, Int32, IntPtr, Int32, IntPtr, Int32)

This function solves the triangular linear system with a single right-hand-side op(A) x = b

Declaration
public cublasStatus_t Ztrsv(cublasHandle_t handle, cublasFillMode_t uplo, cublasOperation_t trans, cublasDiagType_t diag, int n, IntPtr A, int lda, IntPtr x, int incx)
Parameters
Type Name Description
cublasHandle_t handle
cublasFillMode_t uplo
cublasOperation_t trans
cublasDiagType_t diag
System.Int32 n
System.IntPtr A
System.Int32 lda
System.IntPtr x
System.Int32 incx
Returns
Type Description
cublasStatus_t
Back to top Generated by DocFX