Safe Rust wrappers for NVIDIA cuSPARSE.
Covers the modern generic-API surface: Handle, SpMat (CSR/CSC/COO/BSR),
DnMat, DnVec, and the family of op algorithms — SpMV, SpMM, SpGEMM,
SpSV, SpSM, SDDMM — plus CSR↔CSC and sparse↔dense conversions, and the
sparse BLAS-1 helpers (axpby, gather, scatter, rot).
All matrix/vector descriptors borrow the underlying [DeviceBuffer]s and
tie their lifetime to them so the buffers can't be freed while cuSPARSE
is still holding references.