Library/ManagedCuda/CudaBlas/CudaBlasHandler.cs
/// <summary>
/// This function performs the symmetric banded matrix-vector multiplication y = alpha * A * x + beta * y where A is a n*n symmetric matrix with k subdiagonals and superdiagonals, 
/// x and y are vectors, and alpha and beta are scalars. n is given by x.Size.
/// </summary>
/// <param name="uplo">indicates if matrix A lower or upper part is stored, the other part is not referenced and is inferred from the stored elements.</param>
/// <param name="k">number of sub- and super-diagonals of matrix A.</param>
/// <param name="alpha">scalar used for multiplication.</param>
/// <param name="A">array of dimensions lda * n, with lda >= max(1,n).</param>
/// <param name="lda">leading dimension of two-dimensional array used to store matrix A.</param>
/// <param name="x">vector with n elements.</param>
/// <param name="incx">stride between consecutive elements of x.</param>
/// <param name="beta">scalar used for multiplication, if beta==0 then y does not have to be a valid input.</param>
/// <param name="y">vector with n elements.</param>
/// <param name="incy">stride between consecutive elements of y.</param>
This function performs the symmetric banded matrix-vector multiplication y = alpha * A * x + beta * y where A is a n*n symmetric matrix with k subdiagonals and superdiagonals,
x and y are vectors, and alpha and beta are scalars. n is given by x.Size.
This function performs the symmetric banded matrix - vector multiplication y = alpha * A * x + beta * y where A is a n * n symmetric matrix with k subdiagonals and superdiagonals x and y are vectors and alpha and beta are scalars . n is given by x . Size .
public void Sbmv(FillMode uplo, int k, CudaDeviceVariable<double> alpha, CudaDeviceVariable<double> A, int lda, CudaDeviceVariable<double> x, int incx, CudaDeviceVariable<double> beta, CudaDeviceVariable<double> y, int incy)
		{
			_status = CudaBlasNativeMethods.cublasDsbmv_v2(_blasHandle, uplo, x.Size, k, alpha.DevicePointer, A.DevicePointer, lda, x.DevicePointer, incx, beta.DevicePointer, y.DevicePointer, incy);
			Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "cublasDsbmv_v2", _status));
			if (_status != CublasStatus.Success) throw new CudaBlasException(_status);
		}
public void Sbmv ( FillMode uplo , int k , CudaDeviceVariable < double > alpha , CudaDeviceVariable < double > A , int lda , CudaDeviceVariable < double > x , int incx , CudaDeviceVariable < double > beta , CudaDeviceVariable < double > y , int incy ) { _status = CudaBlasNativeMethods . cublasDsbmv_v2 ( _blasHandle , uplo , x . Size , k , alpha . DevicePointer , A . DevicePointer , lda , x . DevicePointer , incx , beta . DevicePointer , y . DevicePointer , incy ) ; Debug . WriteLine ( String . Format ( " " , DateTime . Now , " " , _status ) ) ; if ( _status != CublasStatus . Success ) throw new CudaBlasException ( _status ) ; }
This function performs the symmetric banded matrix-vector multiplication y = alpha * A * x + beta * y where A is a n*n symmetric matrix with k subdiagonals and superdiagonals,
x and y are vectors, and alpha and beta are scalars.
This function performs the symmetric banded matrix - vector multiplication y = alpha * A * x + beta * y where A is a n * n symmetric matrix with k subdiagonals and superdiagonals x and y are vectors and alpha and beta are scalars .
uplo
FillMode
indicates if matrix A lower or upper part is stored, the other part is not referenced and is inferred from the stored elements.
indicates if matrix A lower or upper part is stored the other part is not referenced and is inferred from the stored elements .
k
int
number of sub- and super-diagonals of matrix A.
number of sub - and super - diagonals of matrix A .
alpha
CudaDeviceVariable<double>
scalar used for multiplication.
scalar used for multiplication .
A
CudaDeviceVariable<double>
array of dimensions lda * n, with lda >= max(1,n).
array of dimensions lda * n with lda > = max ( 1 n ) .
lda
int
leading dimension of two-dimensional array used to store matrix A.
leading dimension of two - dimensional array used to store matrix A .
x
CudaDeviceVariable<double>
vector with n elements.
vector with n elements .
incx
int
stride between consecutive elements of x.
stride between consecutive elements of x .
beta
CudaDeviceVariable<double>
scalar used for multiplication, if beta==0 then y does not have to be a valid input.
scalar used for multiplication if beta == 0 then y does not have to be a valid input .
y
CudaDeviceVariable<double>
vector with n elements.
vector with n elements .
incy
int
stride between consecutive elements of y.
stride between consecutive elements of y .