Customizing GPU Kernels for Sparsity
Listen to the summary
Uses a voice available on your device
Audio options
On this page
Key Takeaways
- SparseDitto extracts 36 structural features from input matrices and ranks optimization strategies using an interpretable additive energy model.
- An architecture-aware planner combines strategy rankings with target-GPU constraints to construct candidate designs.
- Coding and verification agents implement candidate kernels in CUDA and perform correctness validation, followed by iterative profiling.
- SparseDitto achieves a geometric-mean speedup of 2.68x over cuSPARSE on an NVIDIA RTX PRO 6000 GPU and 2.79x on an NVIDIA H200 GPU.
Summary & Methodology Analysis
SparseDitto addresses the performance variability and inefficiency of sparse GPU kernels by providing a system that dynamically adapts data representation, execution strategy, and hardware mapping to specific input matrices, operators, and target GPUs. The system first extracts 36 structural features of the input matrix, categorized into intrinsic, representation-induced, and operator-induced features. It then ranks established optimization strategies using an offline-trained, interpretable additive energy model. Following this, an architecture-aware planner constructs multiple candidate designs by combining strategy rankings with target-GPU constraints. Coding and verification agents implement candidate kernels in CUDA and perform correctness validation, and the system finally refines kernels through iterative target-GPU profiling and performance measurement feedback.
The system relies on several operational components and comparisons. It is evaluated against baselines such as cuSPARSE, CB-SpMV, DTC-SpMM, HSMU-SpGEMM, SparseTIR, and AlphaSparse, using datasets from the SuiteSparse Matrix Collection, GPT-5.6-terra, and Reddit. Generated SpMM kernels accelerate full-batch GCN training by up to 3.39x. On an NVIDIA RTX PRO 6000 GPU, it achieves a geometric-mean speedup of 2.68x over cuSPARSE, with a maximum of 146.61x. On an NVIDIA H200 GPU, it achieves a geometric-mean speedup of 2.79x over cuSPARSE, with a maximum of 78.5x.
Despite these performance improvements, the system has several limitations. The performance gains of SparseDitto narrow as the dense dimension width K grows in SpMM operations. Additionally, SparseDitto may fail on some matrices due to resource constraints, mirroring issues seen in baselines. Finally, the system has a limited search budget, and some candidate generations may fail or return invalid results.
Interactive System Flowchart
Cross-Examination & FAQs
A deeper dive clarifying mechanics, constraints, and baseline evaluations.
Q1. What is SparseDitto?
SparseDitto is a system that customizes GPU kernels for different sparsity patterns using an LLM-based agentic system.
Q2. What problem does SparseDitto solve?
It addresses the performance variability and inefficiency of sparse GPU kernels by dynamically adapting data representation, execution strategy, and hardware mapping.
Q3. What are the main performance gains achieved by SparseDitto?
It achieves a geometric-mean speedup of 2.68x over cuSPARSE on an NVIDIA RTX PRO 6000 GPU (with a maximum of 146.61x) and 2.79x on an NVIDIA H200 GPU (with a maximum of 78.5x).
Q4. How does SparseDitto analyze the input matrix?
It extracts 36 structural features of the input matrix, categorized into intrinsic, representation-induced, and operator-induced features.
Q5. How are optimization strategies ranked?
They are ranked using an offline-trained, interpretable additive energy model.
Q6. What is the role of coding and verification agents?
They implement candidate kernels in CUDA, perform correctness validation, and refine kernels through iterative target-GPU profiling and performance measurement feedback.
Q7. What baselines and datasets were used in the evaluation?
The paper compares against cuSPARSE, CB-SpMV, DTC-SpMM, HSMU-SpGEMM, SparseTIR, and AlphaSparse, using the SuiteSparse Matrix Collection, GPT-5.6-terra, and Reddit datasets.
Q8. What are the limitations of SparseDitto?
Its performance gains narrow as the dense dimension width K grows in SpMM operations, it may fail on some matrices due to resource constraints, and its search budget is limited, causing some candidate generations to fail or return invalid results.
Q9. How does SparseDitto impact GCN training?
Generated SpMM kernels accelerate full-batch GCN training by up to 3.39x.