baracuda-cusparse 0.0.1-alpha.13

Safe Rust wrappers for NVIDIA cuSPARSE (generic-API SpMV at v0.1).
Documentation

baracuda-cusparse

Safe Rust wrappers for NVIDIA cuSPARSE — sparse linear algebra on the GPU through the modern generic API.

Generic over scalar type (f32 / f64 / Complex32 / Complex64) where the math allows.

Coverage

  • All sparse formats: CSR, CSC, COO, BSR, with typed descriptor builders (SparseMatrixCsr::new, etc.).
  • Dense descriptors: DnVec, DnMat.
  • Generic sparse-matrix ops (modern, post cuSPARSE 11):
    • SpMV (sparse matrix × dense vector)
    • SpMM (sparse × dense)
    • SpGEMM (sparse × sparse) — three-phase: workspace estimate, workspace fill, compute.
    • SpSV / SpSM (triangular solve).
    • SDDMM (sampled dense-dense matmul).
  • Conversions: sparse↔dense, CSR↔CSC.
  • Sparse-BLAS-1: axpby, gather, scatter, rot.

Workspace handling

The generic API requires the caller to provide scratch device memory sized via a query call (e.g. SpMV_bufferSize). baracuda-cusparse takes this through &mut DeviceBuffer<u8> arguments — explicit and allocation-free at op time.

Pairs with baracuda-cusparse-sys for the raw FFI surface.

Part of the baracuda workspace.

License

Dual MIT / Apache-2.0.