Expand description
Sparse matrix operations.
This module provides GPU-accelerated sparse matrix operations:
spmv– Sparse matrix-vector multiplication (y = alphaAx + beta*y)spmm– Sparse matrix-dense matrix multiplication (C = alphaAB + beta*C)spgemm– Sparse matrix-sparse matrix multiplication (C = A*B)spgemm_symbolic– Gustavson symbolic SpGEMM: the sparsity pattern ofC = A*B(host CSR, values not computed)sptrsv– Sparse triangular solve (Lx = b or Ux = b)sddmm– Sampled Dense-Dense Matrix Multiplykrylov– Krylov subspace methods (Lanczos & Arnoldi iteration)matrix_powers– Sparse matrix powers (A^k) and polynomial evaluation
Re-exports§
pub use auto_spmv::RecommendedFormat;pub use auto_spmv::SpMatFormat;pub use auto_spmv::analyze_sparsity;pub use auto_spmv::auto_spmv;pub use auto_spmv::recommend_format;pub use auto_spmv::select_format;pub use batched::BatchScheduler;pub use batched::BatchedSpGEMM;pub use batched::BatchedSpMV;pub use batched::BatchedSpMVPlan;pub use batched::BatchedTriSolve;pub use batched::Strategy;pub use batched::UniformBatchedSpMV;pub use batched::batched_spmv_cpu;pub use batched::generate_batched_spmv_ptx;pub use batched::mixed_precision_spmv_cpu;pub use krylov::ArnoldiConfig;pub use krylov::ArnoldiPlan;pub use krylov::ArnoldiResult;pub use krylov::EigenTarget;pub use krylov::LanczosConfig;pub use krylov::LanczosPlan;pub use krylov::LanczosResult;pub use matrix_powers::MatrixPowerConfig;pub use matrix_powers::MatrixPowerResult;pub use matrix_powers::estimate_power_nnz;pub use matrix_powers::sparse_identity;pub use matrix_powers::sparse_matrix_polynomial;pub use matrix_powers::sparse_matrix_power;pub use mixed_precision_spmv::ComputePrecision;pub use mixed_precision_spmv::MixedPrecisionConfig;pub use mixed_precision_spmv::MixedPrecisionPlan;pub use mixed_precision_spmv::MixedPrecisionStats;pub use mixed_precision_spmv::MixedSpMVAlgo;pub use mixed_precision_spmv::StoragePrecision;pub use mixed_precision_spmv::estimate_precision_loss;pub use mixed_precision_spmv::generate_mixed_scalar_spmv_ptx;pub use mixed_precision_spmv::generate_mixed_vector_spmv_ptx;pub use mixed_precision_spmv::generate_packed_vector_spmv_ptx;pub use mixed_precision_spmv::plan_mixed_precision_spmv;pub use mixed_precision_spmv::validate_mixed_precision_config;pub use sddmm::sddmm;pub use spgemm::spgemm_numeric;pub use spgemm::spgemm_symbolic;pub use spgemm_estimate::EstimationMethod;pub use spgemm_estimate::SpGEMMEstimate;pub use spgemm_estimate::auto_estimate_spgemm;pub use spgemm_estimate::count_nnz_exact;pub use spgemm_estimate::estimate_nnz_sampling;pub use spgemm_estimate::estimate_nnz_upper_bound;pub use spgemm_estimate::estimate_spgemm_memory;pub use spgemm_merge::spgemm_merge;pub use spgemm_symbolic::SymbolicPattern;pub use spgemm_symbolic::spgemm_symbolic_pattern;pub use spmm::spmm;pub use spmv::SpMVAlgo;pub use spmv::spmv;pub use spmv_bsr::spmv_bsr;pub use spmv_csr5::csr5_spmv;pub use spmv_ell::spmv_ell;pub use sptrsv::sptrsv;pub use tensor::EdgeFeatures;pub use tensor::GnnSparseConfig;pub use tensor::MessagePassingOp;pub use tensor::add_self_loops;pub use tensor::compute_degree_matrix;pub use tensor::gather;pub use tensor::scatter_reduce;pub use tensor::sparse_attention_message;pub use tensor::sparse_message_passing;pub use tensor::sparse_row_softmax;pub use tensor::symmetric_normalize;
Modules§
- auto_
spmv - Heuristic-based format selection and auto-dispatching SpMV.
- batched
- Batched sparse operations.
- krylov
- Krylov subspace methods for sparse eigenvalue computation.
- matrix_
powers - Sparse matrix powers and polynomial evaluation.
- mixed_
precision_ spmv - Mixed-precision sparse matrix-vector multiplication (SpMV).
- sddmm
- Sampled Dense-Dense Matrix Multiply (SDDMM).
- spgemm
- Sparse matrix-sparse matrix multiplication (SpGEMM).
- spgemm_
estimate - SpGEMM memory estimation for
C = A * B. - spgemm_
merge - Merge-based SpGEMM:
C = A * Busing merge-path load balancing. - spgemm_
symbolic - Symbolic SpGEMM (Gustavson) – the sparsity pattern of
C = A * B. - spmm
- Sparse matrix-dense matrix multiplication (SpMM).
- spmv
- Sparse matrix-vector multiplication (SpMV).
- spmv_
bsr - BSR SpMV kernel.
- spmv_
csr5 - CSR5 SpMV kernel.
- spmv_
ell - ELL-optimized SpMV kernel.
- sptrsv
- Sparse triangular solve (SpTRSV).
- tensor
- Sparse tensor operations for GNN (Graph Neural Network) workloads.