Library/ManagedCuda/CudaBlas/CudaBlasHandler.cs
/// <summary>
/// This function performs the Hermitian packed matrix-vector multiplication y = alpha * A * x + beta * y where A is a n*n Hermitian matrix stored in packed format, 
/// 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="alpha">scalar used for multiplication.</param>
/// <param name="AP">array of dimensions lda * n, with lda >= max(1,n).</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 Hermitian packed matrix-vector multiplication y = alpha * A * x + beta * y where A is a n*n Hermitian matrix stored in packed format,
x and y are vectors, and alpha and beta are scalars. n is given by x.Size.
This function performs the Hermitian packed matrix - vector multiplication y = alpha * A * x + beta * y where A is a n * n Hermitian matrix stored in packed format x and y are vectors and alpha and beta are scalars . n is given by x . Size .
public void Hpmv(FillMode uplo, cuDoubleComplex alpha, CudaDeviceVariable<cuDoubleComplex> AP, CudaDeviceVariable<cuDoubleComplex> x, int incx, cuDoubleComplex beta, CudaDeviceVariable<cuDoubleComplex> y, int incy)
		{
			_status = CudaBlasNativeMethods.cublasZhpmv_v2(_blasHandle, uplo, x.Size, ref alpha, AP.DevicePointer, x.DevicePointer, incx, ref beta, y.DevicePointer, incy);
			Debug.WriteLine(String.Format("{0:G}, {1}: {2}", DateTime.Now, "cublasZhpmv_v2", _status));
			if (_status != CublasStatus.Success) throw new CudaBlasException(_status);
		}
public void Hpmv ( FillMode uplo , cuDoubleComplex alpha , CudaDeviceVariable < cuDoubleComplex > AP , CudaDeviceVariable < cuDoubleComplex > x , int incx , cuDoubleComplex beta , CudaDeviceVariable < cuDoubleComplex > y , int incy ) { _status = CudaBlasNativeMethods . cublasZhpmv_v2 ( _blasHandle , uplo , x . Size , ref alpha , AP . DevicePointer , x . DevicePointer , incx , ref beta , y . DevicePointer , incy ) ; Debug . WriteLine ( String . Format ( " " , DateTime . Now , " " , _status ) ) ; if ( _status != CublasStatus . Success ) throw new CudaBlasException ( _status ) ; }
This function performs the Hermitian packed matrix-vector multiplication y = alpha * A * x + beta * y where A is a n*n Hermitian matrix stored in packed format,
x and y are vectors, and alpha and beta are scalars.
This function performs the Hermitian packed matrix - vector multiplication y = alpha * A * x + beta * y where A is a n * n Hermitian matrix stored in packed format 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 .
alpha
cuDoubleComplex
scalar used for multiplication.
scalar used for multiplication .
AP
CudaDeviceVariable<cuDoubleComplex>
array of dimensions lda * n, with lda >= max(1,n).
array of dimensions lda * n with lda > = max ( 1 n ) .
x
CudaDeviceVariable<cuDoubleComplex>
vector with n elements.
vector with n elements .
incx
int
stride between consecutive elements of x.
stride between consecutive elements of x .
beta
cuDoubleComplex
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<cuDoubleComplex>
vector with n elements.
vector with n elements .
incy
int
stride between consecutive elements of y.
stride between consecutive elements of y .