Expand description
§OxiCUDA Sparse – GPU-Accelerated Sparse Matrix Operations
This crate provides GPU-accelerated sparse matrix operations, serving as a pure Rust equivalent to NVIDIA’s cuSPARSE library.
§Sparse formats
Multiple storage formats are supported via the format module:
CsrMatrix– Compressed Sparse Row (primary format)CscMatrix– Compressed Sparse ColumnCooMatrix– Coordinate (triplet)BsrMatrix– Block Sparse RowEllMatrix– ELLPACKHybMatrix– HYB (Hybrid ELL+COO)
§Operations
ops::spmv– Sparse matrix-vector multiply (y = alpha*A*x + beta*y)ops::spmm– Sparse-dense matrix multiply (C = alpha*A*B + beta*C)ops::spgemm– Sparse-sparse matrix multiply (C = A*B)ops::sptrsv– Sparse triangular solve (L*x = borU*x = b)ops::sddmm– Sampled Dense-Dense Matrix Multiply
§Preconditioners
preconditioner::ilu0– Incomplete LU(0) for general systemspreconditioner::ic0– Incomplete Cholesky(0) for SPD systems
§Example
use oxicuda_sparse::prelude::*;Re-exports§
pub use error::SparseError;pub use error::SparseResult;pub use format::BsrMatrix;pub use format::CooMatrix;pub use format::CscMatrix;pub use format::Csr5Matrix;pub use format::CsrMatrix;pub use format::EllMatrix;pub use format::HybMatrix;pub use format::HybPartition;pub use format::HybStatistics;pub use handle::SparseHandle;