DeltaSparse is a sparse matrix-matrix multiplication (SpGEMM) project with GPU-focused implementations for NVIDIA CUDA and AMD HIP/ROCm environments.
backend/spgemm_nv/— NVIDIA CUDA implementation (nvccbuild flow).backend/spgemm_dcu/— AMD/HIP implementation (hipccbuild flow, optionalrocsparsecomparison mode).data/— sample.csrsparse matrix inputs.
Each backend also contains its own README with environment-specific details.
cd backend/spgemm_nv
makecd backend/spgemm_dcu
makeOptional ROCm sparse-library comparison build:
cd backend/spgemm_dcu
make gpu=1Both backends accept similar runtime modes:
- Random matrix generation
./Csrsparse 0 <rows_A> <cols_A> <sparsity_A> <sparsity_B> <random_seed>- Read matrix A from CSR file
./Csrsparse 1 <csr_file_path> <sparsity_B> <random_seed>Example with provided data:
./Csrsparse 1 ../../data/bcsstk18.csr 0.01 1- This repository is GPU toolchain dependent; CUDA/ROCm compilers and libraries must be available in your environment.
- Existing backend Makefiles currently expect cluster-style toolchain paths/module setups.