baracuda-cusolver
Safe Rust wrappers for NVIDIA cuSOLVER — dense and sparse linear-system
solvers, eigensolvers, and matrix factorizations on the GPU. Covers
cuSolverDn, cuSolverSp, cuSolverRf, and cuSolverMg.
Generic over scalar type (f32 / f64 / Complex32 / Complex64)
where the math allows.
Coverage
- Dense (
cuSolverDn):- LU:
getrf+getrs - QR:
geqrf+orgqr+ormqr - Cholesky:
potrf+potrs+potri - SVD (
gesvd,gesvdj, batchedgesvdj) - Eigensolvers:
syevd,syevj, batchedsyevj - Least-squares:
gels - Generic 64-bit
X*family (Xgetrf,Xgetrs,Xgeqrf,Xpotrf,Xpotrs,Xsyevd) for very large matrices.
- LU:
- Sparse (
cuSolverSp):csrlsvchol,csrlsvqr. - Refactor (
cuSolverRf): full Rf API. - Multi-GPU (
cuSolverMg):getrf,potrf,syevd.
Workspace handling
Like cuBLASLt and cuSPARSE, cuSOLVER requires the caller to provide
device + host scratch sized via a bufferSize query. baracuda-cusolver
exposes both queries and the actual operation as separate calls so you
can amortize the allocation across many problems of the same shape.
Pairs with baracuda-cusolver-sys for the raw FFI surface.
Part of the baracuda workspace.
License
Dual MIT / Apache-2.0.