Show / Hide Table of Contents

    Class CudaSolveSparse

    CudaSolvSparse: The cuSolverSP library was mainly designed to a solve sparse linear system AxB and the least-squares problem x = argmin||A*z-b||

    Inheritance
    System.Object
    CudaSolveSparse
    Implements
    System.IDisposable
    Inherited Members
    System.Object.Equals(System.Object)
    System.Object.Equals(System.Object, System.Object)
    System.Object.GetHashCode()
    System.Object.GetType()
    System.Object.MemberwiseClone()
    System.Object.ReferenceEquals(System.Object, System.Object)
    System.Object.ToString()
    Namespace: ManagedCuda.CudaSolve
    Assembly: CudaSolve.dll
    Syntax
    public class CudaSolveSparse : IDisposable

    Constructors

    | Improve this Doc View Source

    CudaSolveSparse()

    Create new sparse solve instance

    Declaration
    public CudaSolveSparse()
    | Improve this Doc View Source

    CudaSolveSparse(CudaStream)

    Create new sparse solve instance using stream stream

    Declaration
    public CudaSolveSparse(CudaStream stream)
    Parameters
    Type Name Description
    CudaStream stream

    Methods

    | Improve this Doc View Source

    CsreigsHost(Int32, Int32, CudaSparseMatrixDescriptor, cuDoubleComplex[], Int32[], Int32[], cuDoubleComplex, cuDoubleComplex, ref Int32)

    Declaration
    public void CsreigsHost(int m, int nnz, CudaSparseMatrixDescriptor descrA, cuDoubleComplex[] csrValA, int[] csrRowPtrA, int[] csrColIndA, cuDoubleComplex left_bottom_corner, cuDoubleComplex right_upper_corner, ref int num_eigs)
    Parameters
    Type Name Description
    System.Int32 m
    System.Int32 nnz
    CudaSparseMatrixDescriptor descrA
    cuDoubleComplex[] csrValA
    System.Int32[] csrRowPtrA
    System.Int32[] csrColIndA
    cuDoubleComplex left_bottom_corner
    cuDoubleComplex right_upper_corner
    System.Int32 num_eigs
    | Improve this Doc View Source

    CsreigsHost(Int32, Int32, CudaSparseMatrixDescriptor, cuFloatComplex[], Int32[], Int32[], cuFloatComplex, cuFloatComplex, ref Int32)

    Declaration
    public void CsreigsHost(int m, int nnz, CudaSparseMatrixDescriptor descrA, cuFloatComplex[] csrValA, int[] csrRowPtrA, int[] csrColIndA, cuFloatComplex left_bottom_corner, cuFloatComplex right_upper_corner, ref int num_eigs)
    Parameters
    Type Name Description
    System.Int32 m
    System.Int32 nnz
    CudaSparseMatrixDescriptor descrA
    cuFloatComplex[] csrValA
    System.Int32[] csrRowPtrA
    System.Int32[] csrColIndA
    cuFloatComplex left_bottom_corner
    cuFloatComplex right_upper_corner
    System.Int32 num_eigs
    | Improve this Doc View Source

    CsreigsHost(Int32, Int32, CudaSparseMatrixDescriptor, Double[], Int32[], Int32[], cuDoubleComplex, cuDoubleComplex, ref Int32)

    Declaration
    public void CsreigsHost(int m, int nnz, CudaSparseMatrixDescriptor descrA, double[] csrValA, int[] csrRowPtrA, int[] csrColIndA, cuDoubleComplex left_bottom_corner, cuDoubleComplex right_upper_corner, ref int num_eigs)
    Parameters
    Type Name Description
    System.Int32 m
    System.Int32 nnz
    CudaSparseMatrixDescriptor descrA
    System.Double[] csrValA
    System.Int32[] csrRowPtrA
    System.Int32[] csrColIndA
    cuDoubleComplex left_bottom_corner
    cuDoubleComplex right_upper_corner
    System.Int32 num_eigs
    | Improve this Doc View Source

    CsreigsHost(Int32, Int32, CudaSparseMatrixDescriptor, Single[], Int32[], Int32[], cuFloatComplex, cuFloatComplex, ref Int32)

    Declaration
    public void CsreigsHost(int m, int nnz, CudaSparseMatrixDescriptor descrA, float[] csrValA, int[] csrRowPtrA, int[] csrColIndA, cuFloatComplex left_bottom_corner, cuFloatComplex right_upper_corner, ref int num_eigs)
    Parameters
    Type Name Description
    System.Int32 m
    System.Int32 nnz
    CudaSparseMatrixDescriptor descrA
    System.Single[] csrValA
    System.Int32[] csrRowPtrA
    System.Int32[] csrColIndA
    cuFloatComplex left_bottom_corner
    cuFloatComplex right_upper_corner
    System.Int32 num_eigs
    | Improve this Doc View Source

    Csreigvsi(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, cuDoubleComplex, CudaDeviceVariable<cuDoubleComplex>, Int32, Double, ref cuDoubleComplex, CudaDeviceVariable<cuDoubleComplex>)

    This function solves the simple eigenvalue problem Ax=lambdax by shift-inverse method.

    Declaration
    public void Csreigvsi(int m, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, cuDoubleComplex mu0, CudaDeviceVariable<cuDoubleComplex> x0, int maxite, double tol, ref cuDoubleComplex mu, CudaDeviceVariable<cuDoubleComplex> x)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows and columns of matrix A.

    System.Int32 nnz

    number of nonzeros of matrix A.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    CudaDeviceVariable<cuDoubleComplex> csrValA

    array of nnz (= csrRowPtrA(n) * csrRowPtrA(0)) nonzero elements of matrix A.

    CudaDeviceVariable<System.Int32> csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    CudaDeviceVariable<System.Int32> csrColIndA

    integer array of nnz (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    cuDoubleComplex mu0

    initial guess of eigenvalue.

    CudaDeviceVariable<cuDoubleComplex> x0

    initial guess of eigenvector, a vecotr of size m.

    System.Int32 maxite

    maximum iterations in shift-inverse method.

    System.Double tol

    tolerance for convergence.

    cuDoubleComplex mu

    approximated eigenvalue nearest mu0 under tolerance.

    CudaDeviceVariable<cuDoubleComplex> x

    approximated eigenvector of size m.

    | Improve this Doc View Source

    Csreigvsi(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, cuFloatComplex, CudaDeviceVariable<cuFloatComplex>, Int32, Single, ref cuFloatComplex, CudaDeviceVariable<cuFloatComplex>)

    This function solves the simple eigenvalue problem Ax=lambdax by shift-inverse method.

    Declaration
    public void Csreigvsi(int m, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, cuFloatComplex mu0, CudaDeviceVariable<cuFloatComplex> x0, int maxite, float tol, ref cuFloatComplex mu, CudaDeviceVariable<cuFloatComplex> x)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows and columns of matrix A.

    System.Int32 nnz

    number of nonzeros of matrix A.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    CudaDeviceVariable<cuFloatComplex> csrValA

    array of nnz (= csrRowPtrA(n) * csrRowPtrA(0)) nonzero elements of matrix A.

    CudaDeviceVariable<System.Int32> csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    CudaDeviceVariable<System.Int32> csrColIndA

    integer array of nnz (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    cuFloatComplex mu0

    initial guess of eigenvalue.

    CudaDeviceVariable<cuFloatComplex> x0

    initial guess of eigenvector, a vecotr of size m.

    System.Int32 maxite

    maximum iterations in shift-inverse method.

    System.Single tol

    tolerance for convergence.

    cuFloatComplex mu

    approximated eigenvalue nearest mu0 under tolerance.

    CudaDeviceVariable<cuFloatComplex> x

    approximated eigenvector of size m.

    | Improve this Doc View Source

    Csreigvsi(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Double, CudaDeviceVariable<Double>, Int32, Double, ref Double, CudaDeviceVariable<Double>)

    This function solves the simple eigenvalue problem Ax=lambdax by shift-inverse method.

    Declaration
    public void Csreigvsi(int m, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, double mu0, CudaDeviceVariable<double> x0, int maxite, double tol, ref double mu, CudaDeviceVariable<double> x)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows and columns of matrix A.

    System.Int32 nnz

    number of nonzeros of matrix A.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    CudaDeviceVariable<System.Double> csrValA

    array of nnz (= csrRowPtrA(n) * csrRowPtrA(0)) nonzero elements of matrix A.

    CudaDeviceVariable<System.Int32> csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    CudaDeviceVariable<System.Int32> csrColIndA

    integer array of nnz (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    System.Double mu0

    initial guess of eigenvalue.

    CudaDeviceVariable<System.Double> x0

    initial guess of eigenvector, a vecotr of size m.

    System.Int32 maxite

    maximum iterations in shift-inverse method.

    System.Double tol

    tolerance for convergence.

    System.Double mu

    approximated eigenvalue nearest mu0 under tolerance.

    CudaDeviceVariable<System.Double> x

    approximated eigenvector of size m.

    | Improve this Doc View Source

    Csreigvsi(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Single, CudaDeviceVariable<Single>, Int32, Single, ref Single, CudaDeviceVariable<Single>)

    This function solves the simple eigenvalue problem Ax=lambdax by shift-inverse method.

    Declaration
    public void Csreigvsi(int m, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, float mu0, CudaDeviceVariable<float> x0, int maxite, float tol, ref float mu, CudaDeviceVariable<float> x)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows and columns of matrix A.

    System.Int32 nnz

    number of nonzeros of matrix A.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    CudaDeviceVariable<System.Single> csrValA

    array of nnz (= csrRowPtrA(n) * csrRowPtrA(0)) nonzero elements of matrix A.

    CudaDeviceVariable<System.Int32> csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    CudaDeviceVariable<System.Int32> csrColIndA

    integer array of nnz (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    System.Single mu0

    initial guess of eigenvalue.

    CudaDeviceVariable<System.Single> x0

    initial guess of eigenvector, a vecotr of size m.

    System.Int32 maxite

    maximum iterations in shift-inverse method.

    System.Single tol

    tolerance for convergence.

    System.Single mu

    approximated eigenvalue nearest mu0 under tolerance.

    CudaDeviceVariable<System.Single> x

    approximated eigenvector of size m.

    | Improve this Doc View Source

    CsreigvsiHost(Int32, Int32, CudaSparseMatrixDescriptor, cuDoubleComplex[], Int32[], Int32[], cuDoubleComplex, cuDoubleComplex[], Int32, Double, ref cuDoubleComplex, cuDoubleComplex[])

    This function solves the simple eigenvalue problem Ax=lambdax by shift-inverse method.

    Declaration
    public void CsreigvsiHost(int m, int nnz, CudaSparseMatrixDescriptor descrA, cuDoubleComplex[] csrValA, int[] csrRowPtrA, int[] csrColIndA, cuDoubleComplex mu0, cuDoubleComplex[] x0, int maxite, double tol, ref cuDoubleComplex mu, cuDoubleComplex[] x)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows and columns of matrix A.

    System.Int32 nnz

    number of nonzeros of matrix A.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    cuDoubleComplex[] csrValA

    array of nnz (= csrRowPtrA(n) * csrRowPtrA(0)) nonzero elements of matrix A.

    System.Int32[] csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    System.Int32[] csrColIndA

    integer array of nnz (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    cuDoubleComplex mu0

    initial guess of eigenvalue.

    cuDoubleComplex[] x0

    initial guess of eigenvector, a vecotr of size m.

    System.Int32 maxite

    maximum iterations in shift-inverse method.

    System.Double tol

    tolerance for convergence.

    cuDoubleComplex mu

    approximated eigenvalue nearest mu0 under tolerance.

    cuDoubleComplex[] x

    approximated eigenvector of size m.

    | Improve this Doc View Source

    CsreigvsiHost(Int32, Int32, CudaSparseMatrixDescriptor, cuFloatComplex[], Int32[], Int32[], cuFloatComplex, cuFloatComplex[], Int32, Single, ref cuFloatComplex, cuFloatComplex[])

    This function solves the simple eigenvalue problem Ax=lambdax by shift-inverse method.

    Declaration
    public void CsreigvsiHost(int m, int nnz, CudaSparseMatrixDescriptor descrA, cuFloatComplex[] csrValA, int[] csrRowPtrA, int[] csrColIndA, cuFloatComplex mu0, cuFloatComplex[] x0, int maxite, float tol, ref cuFloatComplex mu, cuFloatComplex[] x)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows and columns of matrix A.

    System.Int32 nnz

    number of nonzeros of matrix A.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    cuFloatComplex[] csrValA

    array of nnz (= csrRowPtrA(n) * csrRowPtrA(0)) nonzero elements of matrix A.

    System.Int32[] csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    System.Int32[] csrColIndA

    integer array of nnz (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    cuFloatComplex mu0

    initial guess of eigenvalue.

    cuFloatComplex[] x0

    initial guess of eigenvector, a vecotr of size m.

    System.Int32 maxite

    maximum iterations in shift-inverse method.

    System.Single tol

    tolerance for convergence.

    cuFloatComplex mu

    approximated eigenvalue nearest mu0 under tolerance.

    cuFloatComplex[] x

    approximated eigenvector of size m.

    | Improve this Doc View Source

    CsreigvsiHost(Int32, Int32, CudaSparseMatrixDescriptor, Double[], Int32[], Int32[], Double, Double[], Int32, Double, ref Double, Double[])

    This function solves the simple eigenvalue problem Ax=lambdax by shift-inverse method.

    Declaration
    public void CsreigvsiHost(int m, int nnz, CudaSparseMatrixDescriptor descrA, double[] csrValA, int[] csrRowPtrA, int[] csrColIndA, double mu0, double[] x0, int maxite, double tol, ref double mu, double[] x)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows and columns of matrix A.

    System.Int32 nnz

    number of nonzeros of matrix A.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    System.Double[] csrValA

    array of nnz (= csrRowPtrA(n) * csrRowPtrA(0)) nonzero elements of matrix A.

    System.Int32[] csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    System.Int32[] csrColIndA

    integer array of nnz (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    System.Double mu0

    initial guess of eigenvalue.

    System.Double[] x0

    initial guess of eigenvector, a vecotr of size m.

    System.Int32 maxite

    maximum iterations in shift-inverse method.

    System.Double tol

    tolerance for convergence.

    System.Double mu

    approximated eigenvalue nearest mu0 under tolerance.

    System.Double[] x

    approximated eigenvector of size m.

    | Improve this Doc View Source

    CsreigvsiHost(Int32, Int32, CudaSparseMatrixDescriptor, Single[], Int32[], Int32[], Single, Single[], Int32, Single, ref Single, Single[])

    This function solves the simple eigenvalue problem Ax=lambdax by shift-inverse method.

    Declaration
    public void CsreigvsiHost(int m, int nnz, CudaSparseMatrixDescriptor descrA, float[] csrValA, int[] csrRowPtrA, int[] csrColIndA, float mu0, float[] x0, int maxite, float tol, ref float mu, float[] x)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows and columns of matrix A.

    System.Int32 nnz

    number of nonzeros of matrix A.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    System.Single[] csrValA

    array of nnz (= csrRowPtrA(n) * csrRowPtrA(0)) nonzero elements of matrix A.

    System.Int32[] csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    System.Int32[] csrColIndA

    integer array of nnz (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    System.Single mu0

    initial guess of eigenvalue.

    System.Single[] x0

    initial guess of eigenvector, a vecotr of size m.

    System.Int32 maxite

    maximum iterations in shift-inverse method.

    System.Single tol

    tolerance for convergence.

    System.Single mu

    approximated eigenvalue nearest mu0 under tolerance.

    System.Single[] x

    approximated eigenvector of size m.

    | Improve this Doc View Source

    CsrissymHost(Int32, Int32, CudaSparseMatrixDescriptor, Int32[], Int32[], Int32[])

    This function checks if A has symmetric pattern or not. The output parameter issym reports 1 if A is symmetric; otherwise, it reports 0.

    Declaration
    public int CsrissymHost(int m, int nnzA, CudaSparseMatrixDescriptor descrA, int[] csrRowPtrA, int[] csrEndPtrA, int[] csrColIndA)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows and columns of matrix A.

    System.Int32 nnzA

    number of nonzeros of matrix A. It is the size of csrValA and csrColIndA.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    System.Int32[] csrRowPtrA

    integer array of m elements that contains the start of every row.

    System.Int32[] csrEndPtrA

    integer array of m elements that contains the end of the last row plus one.

    System.Int32[] csrColIndA

    integer array of nnzAcolumn indices of the nonzero elements of matrix A.

    Returns
    Type Description
    System.Int32

    1 if A is symmetric; 0 otherwise.

    | Improve this Doc View Source

    CsrlsqvqrHost(Int32, Int32, Int32, CudaSparseMatrixDescriptor, cuDoubleComplex[], Int32[], Int32[], cuDoubleComplex[], Double, ref Int32, cuDoubleComplex[], Int32[], ref Double)

    This function solves the following least-square problem x = argmin||A*z-b||

    Declaration
    public void CsrlsqvqrHost(int m, int n, int nnz, CudaSparseMatrixDescriptor descrA, cuDoubleComplex[] csrValA, int[] csrRowPtrA, int[] csrColIndA, cuDoubleComplex[] b, double tol, ref int rankA, cuDoubleComplex[] x, int[] p, ref double min_norm)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows of matrix A.

    System.Int32 n

    number of columns of matrix A.

    System.Int32 nnz

    number of nonzeros of matrix A.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    cuDoubleComplex[] csrValA

    array of nnz (= csrRowPtrA(n) * csrRowPtrA(0)) nonzero elements of matrix A.

    System.Int32[] csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    System.Int32[] csrColIndA

    integer array of nnz (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    cuDoubleComplex[] b

    right hand side vector of size m.

    System.Double tol

    tolerance to decide rank of A.

    System.Int32 rankA

    numerical rank of A.

    cuDoubleComplex[] x

    solution vector of size n, x=pinv(A)*b.

    System.Int32[] p

    a vector of size n, which represents the permuation matrix P satisfying AP^T=QR.

    System.Double min_norm

    ||A*x-b||, x=pinv(A)*b.

    | Improve this Doc View Source

    CsrlsqvqrHost(Int32, Int32, Int32, CudaSparseMatrixDescriptor, cuFloatComplex[], Int32[], Int32[], cuFloatComplex[], Single, ref Int32, cuFloatComplex[], Int32[], ref Single)

    This function solves the following least-square problem x = argmin||A*z-b||

    Declaration
    public void CsrlsqvqrHost(int m, int n, int nnz, CudaSparseMatrixDescriptor descrA, cuFloatComplex[] csrValA, int[] csrRowPtrA, int[] csrColIndA, cuFloatComplex[] b, float tol, ref int rankA, cuFloatComplex[] x, int[] p, ref float min_norm)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows of matrix A.

    System.Int32 n

    number of columns of matrix A.

    System.Int32 nnz

    number of nonzeros of matrix A.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    cuFloatComplex[] csrValA

    array of nnz (= csrRowPtrA(n) * csrRowPtrA(0)) nonzero elements of matrix A.

    System.Int32[] csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    System.Int32[] csrColIndA

    integer array of nnz (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    cuFloatComplex[] b

    right hand side vector of size m.

    System.Single tol

    tolerance to decide rank of A.

    System.Int32 rankA

    numerical rank of A.

    cuFloatComplex[] x

    solution vector of size n, x=pinv(A)*b.

    System.Int32[] p

    a vector of size n, which represents the permuation matrix P satisfying AP^T=QR.

    System.Single min_norm

    ||A*x-b||, x=pinv(A)*b.

    | Improve this Doc View Source

    CsrlsqvqrHost(Int32, Int32, Int32, CudaSparseMatrixDescriptor, Double[], Int32[], Int32[], Double[], Double, ref Int32, Double[], Int32[], ref Double)

    This function solves the following least-square problem x = argmin||A*z-b||

    Declaration
    public void CsrlsqvqrHost(int m, int n, int nnz, CudaSparseMatrixDescriptor descrA, double[] csrValA, int[] csrRowPtrA, int[] csrColIndA, double[] b, double tol, ref int rankA, double[] x, int[] p, ref double min_norm)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows of matrix A.

    System.Int32 n

    number of columns of matrix A.

    System.Int32 nnz

    number of nonzeros of matrix A.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    System.Double[] csrValA

    array of nnz (= csrRowPtrA(n) * csrRowPtrA(0)) nonzero elements of matrix A.

    System.Int32[] csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    System.Int32[] csrColIndA

    integer array of nnz (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    System.Double[] b

    right hand side vector of size m.

    System.Double tol

    tolerance to decide rank of A.

    System.Int32 rankA

    numerical rank of A.

    System.Double[] x

    solution vector of size n, x=pinv(A)*b.

    System.Int32[] p

    a vector of size n, which represents the permuation matrix P satisfying AP^T=QR.

    System.Double min_norm

    ||A*x-b||, x=pinv(A)*b.

    | Improve this Doc View Source

    CsrlsqvqrHost(Int32, Int32, Int32, CudaSparseMatrixDescriptor, Single[], Int32[], Int32[], Single[], Single, ref Int32, Single[], Int32[], ref Single)

    This function solves the following least-square problem x = argmin||A*z-b||

    Declaration
    public void CsrlsqvqrHost(int m, int n, int nnz, CudaSparseMatrixDescriptor descrA, float[] csrValA, int[] csrRowPtrA, int[] csrColIndA, float[] b, float tol, ref int rankA, float[] x, int[] p, ref float min_norm)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows of matrix A.

    System.Int32 n

    number of columns of matrix A.

    System.Int32 nnz

    number of nonzeros of matrix A.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    System.Single[] csrValA

    array of nnz (= csrRowPtrA(n) * csrRowPtrA(0)) nonzero elements of matrix A.

    System.Int32[] csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    System.Int32[] csrColIndA

    integer array of nnz (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    System.Single[] b

    right hand side vector of size m.

    System.Single tol

    tolerance to decide rank of A.

    System.Int32 rankA

    numerical rank of A.

    System.Single[] x

    solution vector of size n, x=pinv(A)*b.

    System.Int32[] p

    a vector of size n, which represents the permuation matrix P satisfying AP^T=QR.

    System.Single min_norm

    ||A*x-b||, x=pinv(A)*b.

    | Improve this Doc View Source

    Csrlsvchol(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuDoubleComplex>, Single, Int32, CudaDeviceVariable<cuDoubleComplex>)

    This function solves the linear system A*x=b

    Declaration
    public int Csrlsvchol(int m, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<cuDoubleComplex> b, float tol, int reorder, CudaDeviceVariable<cuDoubleComplex> x)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows and columns of matrix A.

    System.Int32 nnz

    number of nonzeros of matrix A.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    CudaDeviceVariable<cuDoubleComplex> csrValA

    array of nnz (= csrRowPtrA(n) * csrRowPtrA(0)) nonzero elements of matrix A.

    CudaDeviceVariable<System.Int32> csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    CudaDeviceVariable<System.Int32> csrColIndA

    integer array of nnz (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    CudaDeviceVariable<cuDoubleComplex> b

    right hand side vector of size m.

    System.Single tol

    tolerance to decide singularity.

    System.Int32 reorder

    no effect.

    CudaDeviceVariable<cuDoubleComplex> x

    solution vector of size m, x = inv(A)*b.

    Returns
    Type Description
    System.Int32

    -1 if A is invertible. Otherwise, first index j such that U(j,j)≈0

    | Improve this Doc View Source

    Csrlsvchol(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuFloatComplex>, Single, Int32, CudaDeviceVariable<cuFloatComplex>)

    This function solves the linear system A*x=b

    Declaration
    public int Csrlsvchol(int m, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<cuFloatComplex> b, float tol, int reorder, CudaDeviceVariable<cuFloatComplex> x)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows and columns of matrix A.

    System.Int32 nnz

    number of nonzeros of matrix A.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    CudaDeviceVariable<cuFloatComplex> csrValA

    array of nnz (= csrRowPtrA(n) * csrRowPtrA(0)) nonzero elements of matrix A.

    CudaDeviceVariable<System.Int32> csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    CudaDeviceVariable<System.Int32> csrColIndA

    integer array of nnz (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    CudaDeviceVariable<cuFloatComplex> b

    right hand side vector of size m.

    System.Single tol

    tolerance to decide singularity.

    System.Int32 reorder

    no effect.

    CudaDeviceVariable<cuFloatComplex> x

    solution vector of size m, x = inv(A)*b.

    Returns
    Type Description
    System.Int32

    -1 if A is invertible. Otherwise, first index j such that U(j,j)≈0

    | Improve this Doc View Source

    Csrlsvchol(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, Single, Int32, CudaDeviceVariable<Double>)

    This function solves the linear system A*x=b

    Declaration
    public int Csrlsvchol(int m, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<double> b, float tol, int reorder, CudaDeviceVariable<double> x)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows and columns of matrix A.

    System.Int32 nnz

    number of nonzeros of matrix A.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    CudaDeviceVariable<System.Double> csrValA

    array of nnz (= csrRowPtrA(n) * csrRowPtrA(0)) nonzero elements of matrix A.

    CudaDeviceVariable<System.Int32> csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    CudaDeviceVariable<System.Int32> csrColIndA

    integer array of nnz (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    CudaDeviceVariable<System.Double> b

    right hand side vector of size m.

    System.Single tol

    tolerance to decide singularity.

    System.Int32 reorder

    no effect.

    CudaDeviceVariable<System.Double> x

    solution vector of size m, x = inv(A)*b.

    Returns
    Type Description
    System.Int32

    -1 if A is invertible. Otherwise, first index j such that U(j,j)≈0

    | Improve this Doc View Source

    Csrlsvchol(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, Single, Int32, CudaDeviceVariable<Single>)

    This function solves the linear system A*x=b

    Declaration
    public int Csrlsvchol(int m, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<float> b, float tol, int reorder, CudaDeviceVariable<float> x)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows and columns of matrix A.

    System.Int32 nnz

    number of nonzeros of matrix A.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    CudaDeviceVariable<System.Single> csrValA

    array of nnz (= csrRowPtrA(n) * csrRowPtrA(0)) nonzero elements of matrix A.

    CudaDeviceVariable<System.Int32> csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    CudaDeviceVariable<System.Int32> csrColIndA

    integer array of nnz (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    CudaDeviceVariable<System.Single> b

    right hand side vector of size m.

    System.Single tol

    tolerance to decide singularity.

    System.Int32 reorder

    no effect.

    CudaDeviceVariable<System.Single> x

    solution vector of size m, x = inv(A)*b.

    Returns
    Type Description
    System.Int32

    -1 if A is invertible. Otherwise, first index j such that U(j,j)≈0

    | Improve this Doc View Source

    CsrlsvcholHost(Int32, Int32, CudaSparseMatrixDescriptor, cuDoubleComplex[], Int32[], Int32[], cuDoubleComplex[], Single, Int32, cuDoubleComplex[])

    This function solves the linear system A*x=b

    Declaration
    public int CsrlsvcholHost(int m, int nnz, CudaSparseMatrixDescriptor descrA, cuDoubleComplex[] csrValA, int[] csrRowPtrA, int[] csrColIndA, cuDoubleComplex[] b, float tol, int reorder, cuDoubleComplex[] x)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows and columns of matrix A.

    System.Int32 nnz

    number of nonzeros of matrix A.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    cuDoubleComplex[] csrValA

    array of nnz (= csrRowPtrA(n) * csrRowPtrA(0)) nonzero elements of matrix A.

    System.Int32[] csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    System.Int32[] csrColIndA

    integer array of nnz (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    cuDoubleComplex[] b

    right hand side vector of size m.

    System.Single tol

    tolerance to decide singularity.

    System.Int32 reorder

    no effect.

    cuDoubleComplex[] x

    solution vector of size m, x = inv(A)*b.

    Returns
    Type Description
    System.Int32

    -1 if A is invertible. Otherwise, first index j such that U(j,j)≈0

    | Improve this Doc View Source

    CsrlsvcholHost(Int32, Int32, CudaSparseMatrixDescriptor, cuFloatComplex[], Int32[], Int32[], cuFloatComplex[], Single, Int32, cuFloatComplex[])

    This function solves the linear system A*x=b

    Declaration
    public int CsrlsvcholHost(int m, int nnz, CudaSparseMatrixDescriptor descrA, cuFloatComplex[] csrValA, int[] csrRowPtrA, int[] csrColIndA, cuFloatComplex[] b, float tol, int reorder, cuFloatComplex[] x)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows and columns of matrix A.

    System.Int32 nnz

    number of nonzeros of matrix A.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    cuFloatComplex[] csrValA

    array of nnz (= csrRowPtrA(n) * csrRowPtrA(0)) nonzero elements of matrix A.

    System.Int32[] csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    System.Int32[] csrColIndA

    integer array of nnz (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    cuFloatComplex[] b

    right hand side vector of size m.

    System.Single tol

    tolerance to decide singularity.

    System.Int32 reorder

    no effect.

    cuFloatComplex[] x

    solution vector of size m, x = inv(A)*b.

    Returns
    Type Description
    System.Int32

    -1 if A is invertible. Otherwise, first index j such that U(j,j)≈0

    | Improve this Doc View Source

    CsrlsvcholHost(Int32, Int32, CudaSparseMatrixDescriptor, Double[], Int32[], Int32[], Double[], Single, Int32, Double[])

    This function solves the linear system A*x=b

    Declaration
    public int CsrlsvcholHost(int m, int nnz, CudaSparseMatrixDescriptor descrA, double[] csrValA, int[] csrRowPtrA, int[] csrColIndA, double[] b, float tol, int reorder, double[] x)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows and columns of matrix A.

    System.Int32 nnz

    number of nonzeros of matrix A.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    System.Double[] csrValA

    array of nnz (= csrRowPtrA(n) * csrRowPtrA(0)) nonzero elements of matrix A.

    System.Int32[] csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    System.Int32[] csrColIndA

    integer array of nnz (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    System.Double[] b

    right hand side vector of size m.

    System.Single tol

    tolerance to decide singularity.

    System.Int32 reorder

    no effect.

    System.Double[] x

    solution vector of size m, x = inv(A)*b.

    Returns
    Type Description
    System.Int32

    -1 if A is invertible. Otherwise, first index j such that U(j,j)≈0

    | Improve this Doc View Source

    CsrlsvcholHost(Int32, Int32, CudaSparseMatrixDescriptor, Single[], Int32[], Int32[], Single[], Single, Int32, Single[])

    This function solves the linear system A*x=b

    Declaration
    public int CsrlsvcholHost(int m, int nnz, CudaSparseMatrixDescriptor descrA, float[] csrValA, int[] csrRowPtrA, int[] csrColIndA, float[] b, float tol, int reorder, float[] x)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows and columns of matrix A.

    System.Int32 nnz

    number of nonzeros of matrix A.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    System.Single[] csrValA

    array of nnz (= csrRowPtrA(n) * csrRowPtrA(0)) nonzero elements of matrix A.

    System.Int32[] csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    System.Int32[] csrColIndA

    integer array of nnz (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    System.Single[] b

    right hand side vector of size m.

    System.Single tol

    tolerance to decide singularity.

    System.Int32 reorder

    no effect.

    System.Single[] x

    solution vector of size m, x = inv(A)*b.

    Returns
    Type Description
    System.Int32

    -1 if A is invertible. Otherwise, first index j such that U(j,j)≈0

    | Improve this Doc View Source

    CsrlsvluHost(Int32, Int32, CudaSparseMatrixDescriptor, cuDoubleComplex[], Int32[], Int32[], cuDoubleComplex[], Double, Int32, cuDoubleComplex[])

    This function solves the linear system A*x=b

    Declaration
    public int CsrlsvluHost(int n, int nnzA, CudaSparseMatrixDescriptor descrA, cuDoubleComplex[] csrValA, int[] csrRowPtrA, int[] csrColIndA, cuDoubleComplex[] b, double tol, int reorder, cuDoubleComplex[] x)
    Parameters
    Type Name Description
    System.Int32 n

    number of rows and columns of matrix A.

    System.Int32 nnzA

    number of nonzeros of matrix A.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    cuDoubleComplex[] csrValA

    array of nnzA (= csrRowPtrA(n) * csrRowPtrA(0)) nonzero elements of matrix A.

    System.Int32[] csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    System.Int32[] csrColIndA

    integer array of nnzA (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    cuDoubleComplex[] b

    right hand side vector of size n.

    System.Double tol

    tolerance to decide if singular or not.

    System.Int32 reorder

    no ordering if reorder=0. Otherwise, symrcm is used to reduce zero fill-in.

    cuDoubleComplex[] x

    solution vector of size n, x = inv(A)*b.

    Returns
    Type Description
    System.Int32

    -1 if A is invertible. Otherwise, first index j such that U(j,j)≈0

    | Improve this Doc View Source

    CsrlsvluHost(Int32, Int32, CudaSparseMatrixDescriptor, cuFloatComplex[], Int32[], Int32[], cuFloatComplex[], Single, Int32, cuFloatComplex[])

    This function solves the linear system A*x=b

    Declaration
    public int CsrlsvluHost(int n, int nnzA, CudaSparseMatrixDescriptor descrA, cuFloatComplex[] csrValA, int[] csrRowPtrA, int[] csrColIndA, cuFloatComplex[] b, float tol, int reorder, cuFloatComplex[] x)
    Parameters
    Type Name Description
    System.Int32 n

    number of rows and columns of matrix A.

    System.Int32 nnzA

    number of nonzeros of matrix A.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    cuFloatComplex[] csrValA

    array of nnzA (= csrRowPtrA(n) * csrRowPtrA(0)) nonzero elements of matrix A.

    System.Int32[] csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    System.Int32[] csrColIndA

    integer array of nnzA (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    cuFloatComplex[] b

    right hand side vector of size n.

    System.Single tol

    tolerance to decide if singular or not.

    System.Int32 reorder

    no ordering if reorder=0. Otherwise, symrcm is used to reduce zero fill-in.

    cuFloatComplex[] x

    solution vector of size n, x = inv(A)*b.

    Returns
    Type Description
    System.Int32

    -1 if A is invertible. Otherwise, first index j such that U(j,j)≈0

    | Improve this Doc View Source

    CsrlsvluHost(Int32, Int32, CudaSparseMatrixDescriptor, Double[], Int32[], Int32[], Double[], Double, Int32, Double[])

    This function solves the linear system A*x=b

    Declaration
    public int CsrlsvluHost(int n, int nnzA, CudaSparseMatrixDescriptor descrA, double[] csrValA, int[] csrRowPtrA, int[] csrColIndA, double[] b, double tol, int reorder, double[] x)
    Parameters
    Type Name Description
    System.Int32 n

    number of rows and columns of matrix A.

    System.Int32 nnzA

    number of nonzeros of matrix A.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    System.Double[] csrValA

    array of nnzA (= csrRowPtrA(n) * csrRowPtrA(0)) nonzero elements of matrix A.

    System.Int32[] csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    System.Int32[] csrColIndA

    integer array of nnzA (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    System.Double[] b

    right hand side vector of size n.

    System.Double tol

    tolerance to decide if singular or not.

    System.Int32 reorder

    no ordering if reorder=0. Otherwise, symrcm is used to reduce zero fill-in.

    System.Double[] x

    solution vector of size n, x = inv(A)*b.

    Returns
    Type Description
    System.Int32

    -1 if A is invertible. Otherwise, first index j such that U(j,j)≈0

    | Improve this Doc View Source

    CsrlsvluHost(Int32, Int32, CudaSparseMatrixDescriptor, Single[], Int32[], Int32[], Single[], Single, Int32, Single[])

    This function solves the linear system A*x=b

    Declaration
    public int CsrlsvluHost(int n, int nnzA, CudaSparseMatrixDescriptor descrA, float[] csrValA, int[] csrRowPtrA, int[] csrColIndA, float[] b, float tol, int reorder, float[] x)
    Parameters
    Type Name Description
    System.Int32 n

    number of rows and columns of matrix A.

    System.Int32 nnzA

    number of nonzeros of matrix A.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    System.Single[] csrValA

    array of nnzA (= csrRowPtrA(n) * csrRowPtrA(0)) nonzero elements of matrix A.

    System.Int32[] csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    System.Int32[] csrColIndA

    integer array of nnzA (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    System.Single[] b

    right hand side vector of size n.

    System.Single tol

    tolerance to decide if singular or not.

    System.Int32 reorder

    no ordering if reorder=0. Otherwise, symrcm is used to reduce zero fill-in.

    System.Single[] x

    solution vector of size n, x = inv(A)*b.

    Returns
    Type Description
    System.Int32

    -1 if A is invertible. Otherwise, first index j such that U(j,j)≈0

    | Improve this Doc View Source

    Csrlsvqr(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuDoubleComplex>, Single, Int32, CudaDeviceVariable<cuDoubleComplex>)

    This function solves the linear system A*x=b

    Declaration
    public int Csrlsvqr(int m, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<cuDoubleComplex> b, float tol, int reorder, CudaDeviceVariable<cuDoubleComplex> x)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows and columns of matrix A.

    System.Int32 nnz

    number of nonzeros of matrix A.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    CudaDeviceVariable<cuDoubleComplex> csrValA

    array of nnz (= csrRowPtrA(n) * csrRowPtrA(0)) nonzero elements of matrix A.

    CudaDeviceVariable<System.Int32> csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    CudaDeviceVariable<System.Int32> csrColIndA

    integer array of nnz (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    CudaDeviceVariable<cuDoubleComplex> b

    right hand side vector of size m.

    System.Single tol

    tolerance to decide if singular or not.

    System.Int32 reorder

    no effect.

    CudaDeviceVariable<cuDoubleComplex> x

    solution vector of size m, x = inv(A)*b.

    Returns
    Type Description
    System.Int32

    -1 if A is invertible. Otherwise, first index j such that U(j,j)≈0

    | Improve this Doc View Source

    Csrlsvqr(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuFloatComplex>, Single, Int32, CudaDeviceVariable<cuFloatComplex>)

    This function solves the linear system A*x=b

    Declaration
    public int Csrlsvqr(int m, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<cuFloatComplex> b, float tol, int reorder, CudaDeviceVariable<cuFloatComplex> x)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows and columns of matrix A.

    System.Int32 nnz

    number of nonzeros of matrix A.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    CudaDeviceVariable<cuFloatComplex> csrValA

    array of nnz (= csrRowPtrA(n) * csrRowPtrA(0)) nonzero elements of matrix A.

    CudaDeviceVariable<System.Int32> csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    CudaDeviceVariable<System.Int32> csrColIndA

    integer array of nnz (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    CudaDeviceVariable<cuFloatComplex> b

    right hand side vector of size m.

    System.Single tol

    tolerance to decide if singular or not.

    System.Int32 reorder

    no effect.

    CudaDeviceVariable<cuFloatComplex> x

    solution vector of size m, x = inv(A)*b.

    Returns
    Type Description
    System.Int32

    -1 if A is invertible. Otherwise, first index j such that U(j,j)≈0

    | Improve this Doc View Source

    Csrlsvqr(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, Single, Int32, CudaDeviceVariable<Double>)

    This function solves the linear system A*x=b

    Declaration
    public int Csrlsvqr(int m, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<double> b, float tol, int reorder, CudaDeviceVariable<double> x)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows and columns of matrix A.

    System.Int32 nnz

    number of nonzeros of matrix A.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    CudaDeviceVariable<System.Double> csrValA

    array of nnz (= csrRowPtrA(n) * csrRowPtrA(0)) nonzero elements of matrix A.

    CudaDeviceVariable<System.Int32> csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    CudaDeviceVariable<System.Int32> csrColIndA

    integer array of nnz (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    CudaDeviceVariable<System.Double> b

    right hand side vector of size m.

    System.Single tol

    tolerance to decide if singular or not.

    System.Int32 reorder

    no effect.

    CudaDeviceVariable<System.Double> x

    solution vector of size m, x = inv(A)*b.

    Returns
    Type Description
    System.Int32

    -1 if A is invertible. Otherwise, first index j such that U(j,j)≈0

    | Improve this Doc View Source

    Csrlsvqr(Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, Single, Int32, CudaDeviceVariable<Single>)

    This function solves the linear system A*x=b

    Declaration
    public int Csrlsvqr(int m, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<float> b, float tol, int reorder, CudaDeviceVariable<float> x)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows and columns of matrix A.

    System.Int32 nnz

    number of nonzeros of matrix A.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    CudaDeviceVariable<System.Single> csrValA

    array of nnz (= csrRowPtrA(n) * csrRowPtrA(0)) nonzero elements of matrix A.

    CudaDeviceVariable<System.Int32> csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    CudaDeviceVariable<System.Int32> csrColIndA

    integer array of nnz (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    CudaDeviceVariable<System.Single> b

    right hand side vector of size m.

    System.Single tol

    tolerance to decide if singular or not.

    System.Int32 reorder

    no effect.

    CudaDeviceVariable<System.Single> x

    solution vector of size m, x = inv(A)*b.

    Returns
    Type Description
    System.Int32

    -1 if A is invertible. Otherwise, first index j such that U(j,j)≈0

    | Improve this Doc View Source

    CsrlsvqrHost(Int32, Int32, CudaSparseMatrixDescriptor, cuDoubleComplex[], Int32[], Int32[], cuDoubleComplex[], Single, Int32, cuDoubleComplex[])

    This function solves the linear system A*x=b

    Declaration
    public int CsrlsvqrHost(int m, int nnz, CudaSparseMatrixDescriptor descrA, cuDoubleComplex[] csrValA, int[] csrRowPtrA, int[] csrColIndA, cuDoubleComplex[] b, float tol, int reorder, cuDoubleComplex[] x)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows and columns of matrix A.

    System.Int32 nnz

    number of nonzeros of matrix A.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    cuDoubleComplex[] csrValA

    array of nnz (= csrRowPtrA(n) * csrRowPtrA(0)) nonzero elements of matrix A.

    System.Int32[] csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    System.Int32[] csrColIndA

    integer array of nnz (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    cuDoubleComplex[] b

    right hand side vector of size m.

    System.Single tol

    tolerance to decide if singular or not.

    System.Int32 reorder

    no effect.

    cuDoubleComplex[] x

    solution vector of size m, x = inv(A)*b.

    Returns
    Type Description
    System.Int32

    -1 if A is invertible. Otherwise, first index j such that U(j,j)≈0

    | Improve this Doc View Source

    CsrlsvqrHost(Int32, Int32, CudaSparseMatrixDescriptor, cuFloatComplex[], Int32[], Int32[], cuFloatComplex[], Single, Int32, cuFloatComplex[])

    This function solves the linear system A*x=b

    Declaration
    public int CsrlsvqrHost(int m, int nnz, CudaSparseMatrixDescriptor descrA, cuFloatComplex[] csrValA, int[] csrRowPtrA, int[] csrColIndA, cuFloatComplex[] b, float tol, int reorder, cuFloatComplex[] x)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows and columns of matrix A.

    System.Int32 nnz

    number of nonzeros of matrix A.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    cuFloatComplex[] csrValA

    array of nnz (= csrRowPtrA(n) * csrRowPtrA(0)) nonzero elements of matrix A.

    System.Int32[] csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    System.Int32[] csrColIndA

    integer array of nnz (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    cuFloatComplex[] b

    right hand side vector of size m.

    System.Single tol

    tolerance to decide if singular or not.

    System.Int32 reorder

    no effect.

    cuFloatComplex[] x

    solution vector of size m, x = inv(A)*b.

    Returns
    Type Description
    System.Int32

    -1 if A is invertible. Otherwise, first index j such that U(j,j)≈0

    | Improve this Doc View Source

    CsrlsvqrHost(Int32, Int32, CudaSparseMatrixDescriptor, Double[], Int32[], Int32[], Double[], Single, Int32, Double[])

    This function solves the linear system A*x=b

    Declaration
    public int CsrlsvqrHost(int m, int nnz, CudaSparseMatrixDescriptor descrA, double[] csrValA, int[] csrRowPtrA, int[] csrColIndA, double[] b, float tol, int reorder, double[] x)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows and columns of matrix A.

    System.Int32 nnz

    number of nonzeros of matrix A.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    System.Double[] csrValA

    array of nnz (= csrRowPtrA(n) * csrRowPtrA(0)) nonzero elements of matrix A.

    System.Int32[] csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    System.Int32[] csrColIndA

    integer array of nnz (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    System.Double[] b

    right hand side vector of size m.

    System.Single tol

    tolerance to decide if singular or not.

    System.Int32 reorder

    no effect.

    System.Double[] x

    solution vector of size m, x = inv(A)*b.

    Returns
    Type Description
    System.Int32

    -1 if A is invertible. Otherwise, first index j such that U(j,j)≈0

    | Improve this Doc View Source

    CsrlsvqrHost(Int32, Int32, CudaSparseMatrixDescriptor, Single[], Int32[], Int32[], Single[], Single, Int32, Single[])

    This function solves the linear system A*x=b

    Declaration
    public int CsrlsvqrHost(int m, int nnz, CudaSparseMatrixDescriptor descrA, float[] csrValA, int[] csrRowPtrA, int[] csrColIndA, float[] b, float tol, int reorder, float[] x)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows and columns of matrix A.

    System.Int32 nnz

    number of nonzeros of matrix A.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    System.Single[] csrValA

    array of nnz (= csrRowPtrA(n) * csrRowPtrA(0)) nonzero elements of matrix A.

    System.Int32[] csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    System.Int32[] csrColIndA

    integer array of nnz (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    System.Single[] b

    right hand side vector of size m.

    System.Single tol

    tolerance to decide if singular or not.

    System.Int32 reorder

    no effect.

    System.Single[] x

    solution vector of size m, x = inv(A)*b.

    Returns
    Type Description
    System.Int32

    -1 if A is invertible. Otherwise, first index j such that U(j,j)≈0

    | Improve this Doc View Source

    Csrperm_bufferSizeHost(Int32, Int32, Int32, CudaSparseMatrixDescriptor, Int32[], Int32[], Int32[], Int32[])

    Given a left permutation vector p which corresponds to permutation matrix P and a right permutation vector q which corresponds to permutation matrix Q, this function computes permutation of matrix A by B = PAQ^T

    Declaration
    public SizeT Csrperm_bufferSizeHost(int m, int n, int nnzA, CudaSparseMatrixDescriptor descrA, int[] csrRowPtrA, int[] csrColIndA, int[] p, int[] q)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows of matrix A.

    System.Int32 n

    number of columns of matrix A.

    System.Int32 nnzA

    number of nonzeros of matrix A. It is the size of csrValA and csrColIndA.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    System.Int32[] csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    System.Int32[] csrColIndA

    integer array of nnz (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    System.Int32[] p

    left permutation vector of size m.

    System.Int32[] q

    right permutation vector of size n.

    Returns
    Type Description
    SizeT

    number of bytes of the buffer.

    | Improve this Doc View Source

    CsrpermHost(Int32, Int32, Int32, CudaSparseMatrixDescriptor, Int32[], Int32[], Int32[], Int32[], Int32[], Byte[])

    Given a left permutation vector p which corresponds to permutation matrix P and a right permutation vector q which corresponds to permutation matrix Q, this function computes permutation of matrix A by B = PAQ^T

    Declaration
    public void CsrpermHost(int m, int n, int nnzA, CudaSparseMatrixDescriptor descrA, int[] csrRowPtrA, int[] csrColIndA, int[] p, int[] q, int[] map, byte[] pBuffer)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows of matrix A.

    System.Int32 n

    number of columns of matrix A.

    System.Int32 nnzA

    number of nonzeros of matrix A. It is the size of csrValA and csrColIndA.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    System.Int32[] csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    System.Int32[] csrColIndA

    integer array of nnz (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    System.Int32[] p

    left permutation vector of size m.

    System.Int32[] q

    right permutation vector of size n.

    System.Int32[] map

    integer array of nnzA indices. If the user wants to get relationship between A and B, map must be set 0:1:(nnzA-1).

    System.Byte[] pBuffer

    buffer allocated by the user, the size is returned by csrperm_bufferSize().

    | Improve this Doc View Source

    CsrqrAnalysisBatched(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CsrQrInfo)

    The batched sparse QR factorization is used to solve either a set of least-squares problems or a set of linear systems

    Declaration
    public void CsrqrAnalysisBatched(int m, int n, int nnzA, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CsrQrInfo info)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows of each matrix Aj.

    System.Int32 n

    number of columns of each matrix Aj.

    System.Int32 nnzA

    number of nonzeros of each matrix Aj. It is the size csrColIndA.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    CudaDeviceVariable<System.Int32> csrRowPtrA

    integer array of m+1 elements that contains the start of every row and the end of the last row plus one.

    CudaDeviceVariable<System.Int32> csrColIndA

    integer array of nnzAcolumn indices of the nonzero elements of each matrix Aj.

    CsrQrInfo info

    opaque structure for QR factorization.

    | Improve this Doc View Source

    CsrqrBufferInfoBatched(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CsrQrInfo, ref SizeT, ref SizeT)

    The batched sparse QR factorization is used to solve either a set of least-squares problems or a set of linear systems

    Declaration
    public void CsrqrBufferInfoBatched(int m, int n, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrVal, CudaDeviceVariable<int> csrRowPtr, CudaDeviceVariable<int> csrColInd, int batchSize, CsrQrInfo info, ref SizeT internalDataInBytes, ref SizeT workspaceInBytes)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows of each matrix Aj.

    System.Int32 n

    number of columns of each matrix Aj.

    System.Int32 nnz

    number of nonzeros of each matrix Aj. It is the size csrColIndA.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    CudaDeviceVariable<cuDoubleComplex> csrVal

    array of nnzA*batchSize nonzero elements of matrices A0, A1, .... All matrices are aggregated one after another.

    CudaDeviceVariable<System.Int32> csrRowPtr

    integer array of m+1 elements that contains the start of every row and the end of the last row plus one.

    CudaDeviceVariable<System.Int32> csrColInd

    integer array of nnzAcolumn indices of the nonzero elements of each matrix Aj.

    System.Int32 batchSize

    number of systems to be solved.

    CsrQrInfo info

    opaque structure for QR factorization.

    SizeT internalDataInBytes

    number of bytes of the internal data.

    SizeT workspaceInBytes

    number of bytes of the buffer in numerical factorization.

    | Improve this Doc View Source

    CsrqrBufferInfoBatched(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CsrQrInfo, ref SizeT, ref SizeT)

    The batched sparse QR factorization is used to solve either a set of least-squares problems or a set of linear systems

    Declaration
    public void CsrqrBufferInfoBatched(int m, int n, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrVal, CudaDeviceVariable<int> csrRowPtr, CudaDeviceVariable<int> csrColInd, int batchSize, CsrQrInfo info, ref SizeT internalDataInBytes, ref SizeT workspaceInBytes)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows of each matrix Aj.

    System.Int32 n

    number of columns of each matrix Aj.

    System.Int32 nnz

    number of nonzeros of each matrix Aj. It is the size csrColIndA.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    CudaDeviceVariable<cuFloatComplex> csrVal

    array of nnzA*batchSize nonzero elements of matrices A0, A1, .... All matrices are aggregated one after another.

    CudaDeviceVariable<System.Int32> csrRowPtr

    integer array of m+1 elements that contains the start of every row and the end of the last row plus one.

    CudaDeviceVariable<System.Int32> csrColInd

    integer array of nnzAcolumn indices of the nonzero elements of each matrix Aj.

    System.Int32 batchSize

    number of systems to be solved.

    CsrQrInfo info

    opaque structure for QR factorization.

    SizeT internalDataInBytes

    number of bytes of the internal data.

    SizeT workspaceInBytes

    number of bytes of the buffer in numerical factorization.

    | Improve this Doc View Source

    CsrqrBufferInfoBatched(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CsrQrInfo, ref SizeT, ref SizeT)

    The batched sparse QR factorization is used to solve either a set of least-squares problems or a set of linear systems

    Declaration
    public void CsrqrBufferInfoBatched(int m, int n, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrVal, CudaDeviceVariable<int> csrRowPtr, CudaDeviceVariable<int> csrColInd, int batchSize, CsrQrInfo info, ref SizeT internalDataInBytes, ref SizeT workspaceInBytes)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows of each matrix Aj.

    System.Int32 n

    number of columns of each matrix Aj.

    System.Int32 nnz

    number of nonzeros of each matrix Aj. It is the size csrColIndA.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    CudaDeviceVariable<System.Double> csrVal

    array of nnzA*batchSize nonzero elements of matrices A0, A1, .... All matrices are aggregated one after another.

    CudaDeviceVariable<System.Int32> csrRowPtr

    integer array of m+1 elements that contains the start of every row and the end of the last row plus one.

    CudaDeviceVariable<System.Int32> csrColInd

    integer array of nnzAcolumn indices of the nonzero elements of each matrix Aj.

    System.Int32 batchSize

    number of systems to be solved.

    CsrQrInfo info

    opaque structure for QR factorization.

    SizeT internalDataInBytes

    number of bytes of the internal data.

    SizeT workspaceInBytes

    number of bytes of the buffer in numerical factorization.

    | Improve this Doc View Source

    CsrqrBufferInfoBatched(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, Int32, CsrQrInfo, ref SizeT, ref SizeT)

    The batched sparse QR factorization is used to solve either a set of least-squares problems or a set of linear systems

    Declaration
    public void CsrqrBufferInfoBatched(int m, int n, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrVal, CudaDeviceVariable<int> csrRowPtr, CudaDeviceVariable<int> csrColInd, int batchSize, CsrQrInfo info, ref SizeT internalDataInBytes, ref SizeT workspaceInBytes)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows of each matrix Aj.

    System.Int32 n

    number of columns of each matrix Aj.

    System.Int32 nnz

    number of nonzeros of each matrix Aj. It is the size csrColIndA.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    CudaDeviceVariable<System.Single> csrVal

    array of nnzA*batchSize nonzero elements of matrices A0, A1, .... All matrices are aggregated one after another.

    CudaDeviceVariable<System.Int32> csrRowPtr

    integer array of m+1 elements that contains the start of every row and the end of the last row plus one.

    CudaDeviceVariable<System.Int32> csrColInd

    integer array of nnzAcolumn indices of the nonzero elements of each matrix Aj.

    System.Int32 batchSize

    number of systems to be solved.

    CsrQrInfo info

    opaque structure for QR factorization.

    SizeT internalDataInBytes

    number of bytes of the internal data.

    SizeT workspaceInBytes

    number of bytes of the buffer in numerical factorization.

    | Improve this Doc View Source

    CsrqrsvBatched(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuDoubleComplex>, CudaDeviceVariable<cuDoubleComplex>, Int32, CsrQrInfo, CudaDeviceVariable<Byte>)

    The batched sparse QR factorization is used to solve either a set of least-squares problems or a set of linear systems

    Declaration
    public void CsrqrsvBatched(int m, int n, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuDoubleComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<cuDoubleComplex> b, CudaDeviceVariable<cuDoubleComplex> x, int batchSize, CsrQrInfo info, CudaDeviceVariable<byte> pBuffer)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows of each matrix Aj.

    System.Int32 n

    number of columns of each matrix Aj.

    System.Int32 nnz

    number of nonzeros of each matrix Aj. It is the size csrColIndA.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    CudaDeviceVariable<cuDoubleComplex> csrValA

    array of nnzA*batchSize nonzero elements of matrices A0, A1, .... All matrices are aggregated one after another.

    CudaDeviceVariable<System.Int32> csrRowPtrA

    integer array of m+1 elements that contains the start of every row and the end of the last row plus one.

    CudaDeviceVariable<System.Int32> csrColIndA

    integer array of nnzAcolumn indices of the nonzero elements of each matrix Aj.

    CudaDeviceVariable<cuDoubleComplex> b

    array of m*batchSize of right-hand-side vectors b0, b1, .... All vectors are aggregated one after another.

    CudaDeviceVariable<cuDoubleComplex> x

    array of m*batchSize of solution vectors x0, x1, .... All vectors are aggregated one after another.

    System.Int32 batchSize

    number of systems to be solved.

    CsrQrInfo info

    opaque structure for QR factorization.

    CudaDeviceVariable<System.Byte> pBuffer

    buffer allocated by the user, the size is returned by cusolverSpXcsrqrBufferInfoBatched().

    | Improve this Doc View Source

    CsrqrsvBatched(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<cuFloatComplex>, CudaDeviceVariable<cuFloatComplex>, Int32, CsrQrInfo, CudaDeviceVariable<Byte>)

    The batched sparse QR factorization is used to solve either a set of least-squares problems or a set of linear systems

    Declaration
    public void CsrqrsvBatched(int m, int n, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<cuFloatComplex> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<cuFloatComplex> b, CudaDeviceVariable<cuFloatComplex> x, int batchSize, CsrQrInfo info, CudaDeviceVariable<byte> pBuffer)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows of each matrix Aj.

    System.Int32 n

    number of columns of each matrix Aj.

    System.Int32 nnz

    number of nonzeros of each matrix Aj. It is the size csrColIndA.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    CudaDeviceVariable<cuFloatComplex> csrValA

    array of nnzA*batchSize nonzero elements of matrices A0, A1, .... All matrices are aggregated one after another.

    CudaDeviceVariable<System.Int32> csrRowPtrA

    integer array of m+1 elements that contains the start of every row and the end of the last row plus one.

    CudaDeviceVariable<System.Int32> csrColIndA

    integer array of nnzAcolumn indices of the nonzero elements of each matrix Aj.

    CudaDeviceVariable<cuFloatComplex> b

    array of m*batchSize of right-hand-side vectors b0, b1, .... All vectors are aggregated one after another.

    CudaDeviceVariable<cuFloatComplex> x

    array of m*batchSize of solution vectors x0, x1, .... All vectors are aggregated one after another.

    System.Int32 batchSize

    number of systems to be solved.

    CsrQrInfo info

    opaque structure for QR factorization.

    CudaDeviceVariable<System.Byte> pBuffer

    buffer allocated by the user, the size is returned by cusolverSpXcsrqrBufferInfoBatched().

    | Improve this Doc View Source

    CsrqrsvBatched(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Double>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Double>, CudaDeviceVariable<Double>, Int32, CsrQrInfo, CudaDeviceVariable<Byte>)

    The batched sparse QR factorization is used to solve either a set of least-squares problems or a set of linear systems

    Declaration
    public void CsrqrsvBatched(int m, int n, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<double> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<double> b, CudaDeviceVariable<double> x, int batchSize, CsrQrInfo info, CudaDeviceVariable<byte> pBuffer)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows of each matrix Aj.

    System.Int32 n

    number of columns of each matrix Aj.

    System.Int32 nnz

    number of nonzeros of each matrix Aj. It is the size csrColIndA.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    CudaDeviceVariable<System.Double> csrValA

    array of nnzA*batchSize nonzero elements of matrices A0, A1, .... All matrices are aggregated one after another.

    CudaDeviceVariable<System.Int32> csrRowPtrA

    integer array of m+1 elements that contains the start of every row and the end of the last row plus one.

    CudaDeviceVariable<System.Int32> csrColIndA

    integer array of nnzAcolumn indices of the nonzero elements of each matrix Aj.

    CudaDeviceVariable<System.Double> b

    array of m*batchSize of right-hand-side vectors b0, b1, .... All vectors are aggregated one after another.

    CudaDeviceVariable<System.Double> x

    array of m*batchSize of solution vectors x0, x1, .... All vectors are aggregated one after another.

    System.Int32 batchSize

    number of systems to be solved.

    CsrQrInfo info

    opaque structure for QR factorization.

    CudaDeviceVariable<System.Byte> pBuffer

    buffer allocated by the user, the size is returned by cusolverSpXcsrqrBufferInfoBatched().

    | Improve this Doc View Source

    CsrqrsvBatched(Int32, Int32, Int32, CudaSparseMatrixDescriptor, CudaDeviceVariable<Single>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Int32>, CudaDeviceVariable<Single>, CudaDeviceVariable<Single>, Int32, CsrQrInfo, CudaDeviceVariable<Byte>)

    The batched sparse QR factorization is used to solve either a set of least-squares problems or a set of linear systems

    Declaration
    public void CsrqrsvBatched(int m, int n, int nnz, CudaSparseMatrixDescriptor descrA, CudaDeviceVariable<float> csrValA, CudaDeviceVariable<int> csrRowPtrA, CudaDeviceVariable<int> csrColIndA, CudaDeviceVariable<float> b, CudaDeviceVariable<float> x, int batchSize, CsrQrInfo info, CudaDeviceVariable<byte> pBuffer)
    Parameters
    Type Name Description
    System.Int32 m

    number of rows of each matrix Aj.

    System.Int32 n

    number of columns of each matrix Aj.

    System.Int32 nnz

    number of nonzeros of each matrix Aj. It is the size csrColIndA.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    CudaDeviceVariable<System.Single> csrValA

    array of nnzA*batchSize nonzero elements of matrices A0, A1, .... All matrices are aggregated one after another.

    CudaDeviceVariable<System.Int32> csrRowPtrA

    integer array of m+1 elements that contains the start of every row and the end of the last row plus one.

    CudaDeviceVariable<System.Int32> csrColIndA

    integer array of nnzAcolumn indices of the nonzero elements of each matrix Aj.

    CudaDeviceVariable<System.Single> b

    array of m*batchSize of right-hand-side vectors b0, b1, .... All vectors are aggregated one after another.

    CudaDeviceVariable<System.Single> x

    array of m*batchSize of solution vectors x0, x1, .... All vectors are aggregated one after another.

    System.Int32 batchSize

    number of systems to be solved.

    CsrQrInfo info

    opaque structure for QR factorization.

    CudaDeviceVariable<System.Byte> pBuffer

    buffer allocated by the user, the size is returned by cusolverSpXcsrqrBufferInfoBatched().

    | Improve this Doc View Source

    CsrsymamdHost(Int32, Int32, CudaSparseMatrixDescriptor, Int32[], Int32[], Int32[])

    Symmetric Approximate minimum degree algorithm based on quotient graph.

    This function implements Symmetric Approximate Minimum Degree Algorithm based on Quotient Graph. It returns a permutation vector p such that A(p,p) would have less zero fill-in during Cholesky factorization.

    Declaration
    public void CsrsymamdHost(int n, int nnzA, CudaSparseMatrixDescriptor descrA, int[] csrRowPtrA, int[] csrColIndA, int[] p)
    Parameters
    Type Name Description
    System.Int32 n

    number of rows and columns of matrix A.

    System.Int32 nnzA

    number of nonzeros of matrix A. It is the size of csrValA and csrColIndA.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    System.Int32[] csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    System.Int32[] csrColIndA

    integer array of nnz (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    System.Int32[] p

    permutation vector of size n.

    | Improve this Doc View Source

    CsrsymmdqHost(Int32, Int32, CudaSparseMatrixDescriptor, Int32[], Int32[], Int32[])

    Symmetric minimum degree algorithm based on quotient graph.

    This function implements Symmetric Minimum Degree Algorithm based on Quotient Graph. It returns a permutation vector p such that A(p,p) would have less zero fill-in during Cholesky factorization.

    Declaration
    public void CsrsymmdqHost(int n, int nnzA, CudaSparseMatrixDescriptor descrA, int[] csrRowPtrA, int[] csrColIndA, int[] p)
    Parameters
    Type Name Description
    System.Int32 n

    number of rows and columns of matrix A.

    System.Int32 nnzA

    number of nonzeros of matrix A. It is the size of csrValA and csrColIndA.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    System.Int32[] csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    System.Int32[] csrColIndA

    integer array of nnz (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    System.Int32[] p

    permutation vector of size n.

    | Improve this Doc View Source

    CsrsymrcmHost(Int32, Int32, CudaSparseMatrixDescriptor, Int32[], Int32[], Int32[])

    This function implements Symmetric Reverse Cuthill-McKee permutation. It returns a permutation vector p such that A(p,p) would concentrate nonzeros to diagonal. This is equivalent to symrcm in MATLAB, however the result may not be the same because of different heuristics in the pseudoperipheral finder.

    Declaration
    public void CsrsymrcmHost(int n, int nnzA, CudaSparseMatrixDescriptor descrA, int[] csrRowPtrA, int[] csrColIndA, int[] p)
    Parameters
    Type Name Description
    System.Int32 n

    number of rows and columns of matrix A.

    System.Int32 nnzA

    number of nonzeros of matrix A. It is the size of csrValA and csrColIndA.

    CudaSparseMatrixDescriptor descrA

    the descriptor of matrix A. The supported matrix type is CUSPARSE_MATRIX_TYPE_GENERAL. Also, the supported index bases are CUSPARSE_INDEX_BASE_ZERO and CUSPARSE_INDEX_BASE_ONE.

    System.Int32[] csrRowPtrA

    integer array of n + 1 elements that contains the start of every row and the end of the last row plus one.

    System.Int32[] csrColIndA

    integer array of nnz (=csrRowPtrA(n) * csrRowPtrA(0)) column indices of the nonzero elements of matrix A.

    System.Int32[] p

    permutation vector of size n.

    | Improve this Doc View Source

    Dispose()

    Dispose

    Declaration
    public void Dispose()
    | Improve this Doc View Source

    Dispose(Boolean)

    For IDisposable

    Declaration
    protected virtual void Dispose(bool fDisposing)
    Parameters
    Type Name Description
    System.Boolean fDisposing
    | Improve this Doc View Source

    Finalize()

    For dispose

    Declaration
    protected void Finalize()
    | Improve this Doc View Source

    GetStream()

    This function gets the stream to be used by the cuSolverSP library to execute its routines.

    Declaration
    public CudaStream GetStream()
    Returns
    Type Description
    CudaStream
    | Improve this Doc View Source

    SetStream(CudaStream)

    This function sets the stream to be used by the cuSolverSP library to execute its routines.

    Declaration
    public void SetStream(CudaStream stream)
    Parameters
    Type Name Description
    CudaStream stream

    the stream to be used by the library.

    Implements

    System.IDisposable
    • Improve this Doc
    • View Source
    Back to top Generated by DocFX