#![warn(clippy::all)]
#![warn(missing_docs)]
pub mod error;
pub mod format;
pub mod handle;
pub mod ops;
pub mod preconditioner;
pub(crate) mod ptx_helpers;
pub use error::{SparseError, SparseResult};
pub use format::{
BsrMatrix, CooMatrix, CscMatrix, Csr5Matrix, CsrMatrix, EllMatrix, HybMatrix, HybPartition,
HybStatistics,
};
pub use handle::SparseHandle;
pub mod prelude {
pub use crate::error::{SparseError, SparseResult};
pub use crate::format::{
BsrMatrix, CooMatrix, CscMatrix, Csr5Matrix, CsrMatrix, EllMatrix, HybMatrix, HybPartition,
HybStatistics, amd_ordering, inverse_permutation, permute_csr, rcm_ordering,
};
pub use crate::handle::SparseHandle;
pub use crate::ops::{
BatchScheduler, BatchedSpGEMM, BatchedSpMV, BatchedSpMVPlan, BatchedTriSolve,
RecommendedFormat, SpMVAlgo, SpMatFormat, Strategy, UniformBatchedSpMV, analyze_sparsity,
auto_spmv, batched_spmv_cpu, csr5_spmv, generate_batched_spmv_ptx,
mixed_precision_spmv_cpu, recommend_format, select_format, spgemm_merge, spmm, spmv,
spmv_bsr, spmv_ell,
};
pub use crate::ops::{
EdgeFeatures, GnnSparseConfig, MessagePassingOp, add_self_loops, compute_degree_matrix,
gather, scatter_reduce, sparse_attention_message, sparse_message_passing,
sparse_row_softmax, symmetric_normalize,
};
pub use crate::preconditioner::{IlukConfig, IlukFactorization};
}