Expand description
Raw FFI + dynamic loader for NVIDIA cuSPARSE (generic API subset).
baracuda-cusparse wraps this with a safe, typed API. Use this
crate directly only if you need a function that the safe layer
hasn’t wrapped yet (in which case please file a bug).
Structs§
- Cusparse
- Loaded cuSPARSE shared library plus a per-symbol
OnceLockof function pointers. - cusparse
Status_ t - Status / error code returned by cuSPARSE FFI calls.
Enums§
- cuda
Data Type cudaDataTypevalues used by cuSPARSE / cuSOLVER’s generic APIs. Only the subset we actually use at v0.1.- cusparse
Csr2 CscAlg_ t - Algorithm selector for CSR-to-CSC conversion.
- cusparse
Diag Type_ t - Diagonal-unit selector for sparse triangular routines.
- cusparse
Fill Mode_ t - Triangular fill mode for sparse triangular routines.
- cusparse
Index Base_ t - Zero- vs one-based indexing for sparse-matrix index arrays.
- cusparse
Index Type_ t - Index-element dtype for sparse-matrix offsets and column indices.
- cusparse
Operation_ t - Transpose selector for cuSPARSE routines (matches cuBLAS values).
- cusparse
Order_ t - Row-major vs column-major dense storage order.
- cusparseSDDMM
Alg_ t - Algorithm selector for
cusparseSDDMM. - cusparse
SpGEMM Alg_ t - Algorithm selector for
cusparseSpGEMM. - cusparse
SpMM Alg_ t - Algorithm selector for
cusparseSpMM. - cusparse
SpMV Alg_ t - Algorithm selector for
cusparseSpMV. - cusparse
SpMat Attribute_ t - Attribute key for
cusparseSpMatSetAttribute/*GetAttribute. - cusparse
SpSM Alg_ t - Algorithm selector for
cusparseSpSM. - cusparse
SpSV Alg_ t - Algorithm selector for
cusparseSpSV.
Functions§
- cusparse
- Lazy-load the cuSPARSE shared library and return its function-pointer table.
Type Aliases§
- PFN_
cusparse Axpby - cuSPARSE: scaled vector addition (alphax + betay → y). See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse CooSet Pointers - cuSPARSE: replace the row/column/value pointers on a COO descriptor. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse Create - cuSPARSE: create a cuSPARSE handle. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse Create Bsr - cuSPARSE: create a BSR sparse-matrix descriptor. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse Create Coo - cuSPARSE: create a COO sparse-matrix descriptor. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse Create Csc - cuSPARSE: create a CSC sparse-matrix descriptor. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse Create Csr - cuSPARSE: create a CSR sparse-matrix descriptor. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse Create DnMat - cuSPARSE: create a dense-matrix descriptor. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse Create DnVec - cuSPARSE: create a dense-vector descriptor. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse CscSet Pointers - cuSPARSE: replace the column/row/value pointers on a CSC descriptor. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse Csr2csc Ex2 - cuSPARSE: convert a CSR matrix to CSC (extended API). See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse Csr2csc Ex2_ buffer Size - cuSPARSE: workspace-size query for
cusparseCsr2cscEx2. See https://docs.nvidia.com/cuda/cusparse/index.html. - PFN_
cusparse CsrSet Pointers - cuSPARSE: replace the row/column/value pointers on a CSR descriptor. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse Dense ToSparse_ analysis - cuSPARSE: analysis stage for dense-to-sparse conversion. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse Dense ToSparse_ buffer Size - cuSPARSE: workspace-size query for dense-to-sparse conversion. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse Dense ToSparse_ convert - cuSPARSE: execute stage for dense-to-sparse conversion. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse Destroy - cuSPARSE: destroy a cuSPARSE handle. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse Destroy DnMat - cuSPARSE: destroy a dense-matrix descriptor. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse Destroy DnVec - cuSPARSE: destroy a dense-vector descriptor. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse Destroy SpMat - cuSPARSE: destroy a sparse-matrix descriptor. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse Gather - cuSPARSE: gather dense entries into a sparse vector. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse GetVersion - cuSPARSE: return the cuSPARSE library version. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse Rot - cuSPARSE: Givens-rotation on sparse and dense vector pair. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparseSDDMM - cuSPARSE: sampled dense-dense matrix multiplication. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparseSDDMM_ buffer Size - cuSPARSE: workspace-size query for sampled dense-dense matrix multiplication. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparseSDDMM_ preprocess - cuSPARSE: preprocess stage of sampled dense-dense matrix multiplication. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse Scatter - cuSPARSE: scatter sparse vector entries into a dense vector. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse SetStream - cuSPARSE: bind a CUDA stream to a cuSPARSE handle. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse SpGEMM_ compute - cuSPARSE: compute stage of sparse matrix × sparse matrix multiplication. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse SpGEMM_ copy - cuSPARSE: copy stage of sparse matrix × sparse matrix multiplication. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse SpGEMM_ create Descr - cuSPARSE: create an opaque descriptor for sparse matrix × sparse matrix multiplication. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse SpGEMM_ destroy Descr - cuSPARSE: destroy an opaque descriptor for sparse matrix × sparse matrix multiplication. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse SpGEMM_ work Estimation - cuSPARSE: work-estimation stage of sparse matrix × sparse matrix multiplication. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse SpMM - cuSPARSE: sparse matrix × dense matrix multiplication. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse SpMM_ buffer Size - cuSPARSE: workspace-size query for sparse matrix × dense matrix multiplication. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse SpMM_ preprocess - cuSPARSE: preprocess stage of sparse matrix × dense matrix multiplication. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse SpMV - cuSPARSE: sparse matrix-vector multiplication. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse SpMV_ buffer Size - cuSPARSE: workspace-size query for sparse matrix-vector multiplication. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse SpMat GetSize - cuSPARSE: query rows, cols, and nnz of a sparse-matrix descriptor. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse SpMat SetAttribute - cuSPARSE: set an attribute (fill mode, diag type) on a sparse-matrix descriptor. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse SpSM_ analysis - cuSPARSE: analysis stage of sparse triangular linear solve (multiple right-hand sides). See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse SpSM_ buffer Size - cuSPARSE: workspace-size query for sparse triangular linear solve (multiple right-hand sides). See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse SpSM_ create Descr - cuSPARSE: create an opaque descriptor for sparse triangular linear solve (multiple right-hand sides). See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse SpSM_ destroy Descr - cuSPARSE: destroy an opaque descriptor for sparse triangular linear solve (multiple right-hand sides). See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse SpSM_ solve - cuSPARSE: solve stage of sparse triangular linear solve (multiple right-hand sides). See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse SpSV_ analysis - cuSPARSE: analysis stage of sparse triangular linear solve (single right-hand side). See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse SpSV_ buffer Size - cuSPARSE: workspace-size query for sparse triangular linear solve (single right-hand side). See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse SpSV_ create Descr - cuSPARSE: create an opaque descriptor for sparse triangular linear solve (single right-hand side). See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse SpSV_ destroy Descr - cuSPARSE: destroy an opaque descriptor for sparse triangular linear solve (single right-hand side). See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse SpSV_ solve - cuSPARSE: solve stage of sparse triangular linear solve (single right-hand side). See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse Sparse ToDense - cuSPARSE: materialize a sparse matrix into a dense one. See https://docs.nvidia.com/cuda/cusparse/index.html.
- PFN_
cusparse Sparse ToDense_ buffer Size - cuSPARSE: workspace-size query for sparse-to-dense conversion. See https://docs.nvidia.com/cuda/cusparse/index.html.
- cusparse
DnMat Descr_ t - Opaque dense-matrix descriptor.
- cusparse
DnVec Descr_ t - Opaque dense-vector descriptor.
- cusparse
Handle_ t - Opaque cuSPARSE handle.
- cusparse
MatDescr_ t - Opaque legacy-API matrix descriptor.
- cusparse
SpGEMM Descr_ t - Opaque SpGEMM intermediate-state descriptor.
- cusparse
SpMat Descr_ t - Opaque sparse-matrix descriptor (CSR / CSC / COO / BSR).
- cusparse
SpSM Descr_ t - Opaque SpSM intermediate-state descriptor.
- cusparse
SpSV Descr_ t - Opaque SpSV intermediate-state descriptor.