Namespace NVMathNet.Sparse
Classes
- BsrMatrix<T>
-
A sparse matrix stored in Block Sparse Row (BSR) format on the GPU. All non-zero values are grouped into dense sub-blocks of a fixed size (NVMathNet.Sparse.BsrMatrix`1.RowBlockDim × NVMathNet.Sparse.BsrMatrix`1.ColBlockDim), which enables better memory coalescing and higher throughput than element-level CSR on modern GPUs.
- CooMatrix<T>
-
A sparse matrix stored in COOrdinate (COO) format on the GPU.
- CscMatrix<T>
-
A sparse matrix stored in Compressed Sparse Column (CSC) format on the GPU. Column offsets, row indices and values are each held in a separate NVMathNet.DeviceBuffer`1. Obtain one from a CSR matrix with NVMathNet.Sparse.CsrMatrix`1.ToCsc.
- CsrMatrix<T>
-
A sparse matrix stored in Compressed Sparse Row (CSR) format on the GPU. Row offsets, column indices, and values are each held in a separate NVMathNet.DeviceBuffer`1.
- DirectSolverOptions
-
Options for NVMathNet.Sparse.SparseDirectSolver`1.
- SparseDirectSolver<T>
-
Sparse direct solver for
A·X = Bbacked by NVIDIA cuDSS. Mirrors the staged workflow of nvmath-python'sDirectSolver:- NVMathNet.Sparse.SparseDirectSolver`1.Analyze — reordering and symbolic factorisation (depends only on the sparsity pattern).
- NVMathNet.Sparse.SparseDirectSolver`1.Factorize — numerical factorisation.
- NVMathNet.Sparse.SparseDirectSolver`1.Solve(NVMathNet.DeviceBuffer{`0},NVMathNet.DeviceBuffer{`0},System.Int32) — forward/backward substitution; call repeatedly for new right-hand sides.
- Change the values of A in place and call NVMathNet.Sparse.SparseDirectSolver`1.Refactorize to reuse the analysis.
Requires the cuDSS runtime library (
cudss64_0.dll/libcudss.so.0) on the library path. The CSR matrix must have sorted column indices and must outlive this solver. - SparseLinearAlgebra
-
Static helpers for sparse linear algebra operations using cuSPARSE.
Enums
- SparseDiagonal
-
Whether the diagonal of a triangular matrix is stored or implicitly all ones.
- SparseMatrixStructure
-
Structure of the system matrix; selects the factorisation cuDSS uses.
- SparseMatrixView
-
Which part of the matrix is stored in the CSR arrays.
- SparseTriangle
-
Which triangle of a sparse matrix a triangular solve reads.