Class CuDssNative
- Namespace
- NVMathNet.Interop
- Assembly
- NVMath.Net.dll
Raw bindings for cuDSS (sparse direct solver). Signatures verified against cudss.h 0.8.
public static class CuDssNativeInheritance
Inherited Members
Methods
Check(CuDssStatus, string?)
Throws NVMathNet.Interop.CuDssException if status is not success.
public static void Check(CuDssStatus status, string? context = null)Parameters
statusCuDssStatuscontextstring?
ConfigCreate()
Creates a solver configuration object.
public static nint ConfigCreate()Returns
ConfigDestroy(nint)
Destroys a solver configuration object.
public static void ConfigDestroy(nint config)Parameters
confignint
ConfigSet(nint, CuDssConfigParam, void*, nuint)
Sets a configuration parameter.
public static void ConfigSet(nint config, CuDssConfigParam param, void* value, nuint size)Parameters
confignintparamCuDssConfigParamvaluevoid*sizenuint
Create()
Creates a cuDSS library handle.
public static nint Create()Returns
DataCreate(nint)
Creates a solver data object (holds the factors).
public static nint DataCreate(nint handle)Parameters
handlenint
Returns
DataDestroy(nint, nint)
Destroys a solver data object.
public static void DataDestroy(nint handle, nint data)Parameters
DataGet(nint, nint, CuDssDataParam, void*, nuint)
Reads a solver data parameter.
public static void DataGet(nint handle, nint data, CuDssDataParam param, void* value, nuint size)Parameters
handlenintdatanintparamCuDssDataParamvaluevoid*sizenuint
Destroy(nint)
Destroys a cuDSS library handle.
public static void Destroy(nint handle)Parameters
handlenint
Execute(nint, CuDssPhase, nint, nint, nint, nint, nint)
Runs one or more solver phases.
public static void Execute(nint handle, CuDssPhase phase, nint config, nint data, nint matrix, nint solution, nint rhs)Parameters
MatrixCreateCsr(long, long, long, void*, void*, void*, CuDssDataType, CuDssMatrixType, CuDssMatrixView)
Creates a CSR sparse matrix descriptor with 32-bit indices and zero-based indexing.
public static nint MatrixCreateCsr(long rows, long cols, long nnz, void* rowOffsets, void* colIndices, void* values, CuDssDataType valueType, CuDssMatrixType mtype, CuDssMatrixView mview)Parameters
rowslong-
Number of rows.
colslong-
Number of columns.
nnzlong-
Number of stored entries.
rowOffsetsvoid*-
Device pointer to
rows+1row offsets. colIndicesvoid*-
Device pointer to
nnzcolumn indices (sorted within each row). valuesvoid*-
Device pointer to
nnzvalues. valueTypeCuDssDataType-
Value type.
mtypeCuDssMatrixType-
Matrix structure.
mviewCuDssMatrixView-
Stored triangle.
Returns
MatrixCreateDn(long, long, long, void*, CuDssDataType)
Creates a dense matrix descriptor (column-major).
public static nint MatrixCreateDn(long rows, long cols, long ld, void* values, CuDssDataType valueType)Parameters
rowslongcolslongldlongvaluesvoid*valueTypeCuDssDataType
Returns
MatrixDestroy(nint)
Destroys a matrix descriptor.
public static void MatrixDestroy(nint matrix)Parameters
matrixnint
MatrixSetValues(nint, void*)
Rebinds the values array of a matrix (same sparsity pattern).
public static void MatrixSetValues(nint matrix, void* values)Parameters
SetStream(nint, nint)
Associates a CUDA stream with the handle.
public static void SetStream(nint handle, nint stream)