computing and GNNs - GPUs feature specialized Tensor Cores for dense math and general-purpose CUDA Cores Challenges - Tensor Cores offer massive throughput but struggle with high-sparsity matrices (>90%) - Existing methods suffer from unaligned memory access Proposed Method: BRP-SpMM - Partitions sparse matrix into TC Block and Residual Row parts - Customized storage format to manage these two parts efficiently - Leverages Tensor Cores and CUDA Cores separately for optimal utilization Results - Average speedup of 2.1x (up to 2.9x) over cuSPARSE on NVIDIA A800 - Accelerates GNN training by up to 1.9x compared to DGL and PyG 3 2026/4/17
𝐶𝑀×𝑁 = 𝐴𝑀×𝐾 × 𝐵𝐾×𝑁 • Matrix A is sparse, Matrices B and C are dense Sparse Matrix Characteristics • A matrix where the number of non-zero elements is significantly fewer than the total elements. • Matrix A: 𝑁𝑁𝑍 ≪ 𝑀 × 𝐾 • High Sparsity (>90%) or Extreme Sparsity (Graph adjacency matrices >99%) 4 𝐶𝑀×𝑁 𝐴𝑀×𝐾 𝐵𝐾×𝑁 2026/4/17
• Stores (𝑟𝑜𝑤, 𝑐𝑜𝑙, 𝑣𝑎𝑙𝑢𝑒) triples for every non-zero element. • Storage Space: 3 × 𝑁𝑁𝑍. CSR (Compressed Sparse Row) • Data Structure: Uses three arrays to minimize space: • 𝑅𝑜𝑤𝑃𝑡𝑟𝑠: Pointers to the start of each row (size: 𝑛 + 1). • 𝐶𝑜𝑙𝐼𝑑𝑥: Column index for each value. • 𝑉𝑎𝑙𝑢𝑒: All non-zero elements. • Computation: Number of elements in row 𝑖 = 𝑅𝑜𝑤𝑃𝑡𝑟𝑠[𝑖 + 1] − 𝑅𝑜𝑤𝑃𝑡𝑟𝑠[𝑖] • Storage Space: 2 × 𝑁𝑁𝑍 + 𝑛. 5 CSR COO 2026/4/17
within Graph Neural Networks. Core Innovation: Sparse Graph Translation (SGT) (On CPU) • Condense sparse matrices by grouping rows into row windows. • These blocks serve as the basic processing unit for GPU Tensor Cores. • Non-zero elements within each window are condensed into 16×8 TC Blocks. 7 2026/4/17
the TC-GNN framework. Shifts from high-level APIs to low-level MMA PTX instructions for finer hardware control. Advanced Runtime Optimizations • Offloading SGT from CPU to GPU to significantly reduce preprocessing overhead. • Implements vectorized global memory accesses and double buffering. • Introduces pipeline strategies to overlap data loading with Tensor Core computation. • Utilizes register remapping and load balancing to improve throughput Critical Shortcomings • Extensive optimizations result in a significantly large kernel function (~300 lines). • Large program sizes risk overflowing the GPU instruction cache, reducing efficiency. • Does not improve upon the original SGT technique, inheriting its memory alignment flaws. 8 2026/4/17
memory access efficiency is maximized when: • Starting addresses are aligned to 128 bytes. • Dense block sizes are fixed (e.g., 128B). • GPU L2 cache line size is 32 128 bytes, managed in 32 bytes sectors • Cache utilization peaks only when data loads are multiples of 32 bytes The Limitation of Sparse Graph Translation (SGT) • Non-zero elements in each TC block are unpredictable in existing methods. • This leads to unaligned memory access and inefficient L2 cache usage. 9 2026/4/17
generated by SGT contain only a single non-zero element • Tensor Cores are high-throughput units designed for dense operations • Processing "almost empty" blocks reduces computational efficiency 10 Challenge 3: Oversized Runtime GPU Kernels TCGNN-SpMM: Uses high-level WMMA C API but lacks advanced optimizations. DTC-SpMM: Incorporates low-level MMA PTX and numerous runtime optimizations. The Instruction Cache Bottleneck • Extensive optimizations result in significantly large kernel functions (~300 lines). • Large program sizes can lead to Instruction Cache Overflow on the GPU. 2026/4/17
= 𝟏) • BRP-SpMM fixes the number of non-zero elements per column, denoted as f. • By setting 𝑓 = 1, every TC Block(h×w) contains exactly w (width) non-zero elements. • Columns with multiple elements are split to maintain this strict density Benefits • Eliminates the variable non-zero counts per block • Minimizes TC block growth while ensuring consistent memory access patterns Note: Diagram uses simplified 4×4 blocks (g=2). Real-world settings uses 16×8 blocks (g=4). 2026/4/17
Logic: Every g TC blocks are organized into a single TC Block Group. • TC Block Part: Complete groups are assigned to Tensor Cores. • Residual Row Part: Elements failing to form a full group are offloaded to CUDA Cores. Benefits • 32 floats (128Byte) ensure 100% alignment with memory access widths. • 128B is a direct multiple of the 32B L2 cache line. Note: Diagram uses simplified 4×4 blocks (g=2). Real-world settings uses 16×8 blocks (g=4). 2026/4/17
Field Description group_window_id Index of the row window the group belongs to. local_id Local element index within the TC block(0~ℎ × 𝑤 − 1) old_col_id Original column index in the sparse matrix values Actual non-zero data values (e.g., weights or features). 2026/4/17
elements res_row_offset Start and end positions of non-zeros for each residual row. res_col_id Original column index for each residual non-zero element. values Actual data values in the residual sparse matrix. 0 1 2 3 8 9 10 11 Part 2: Customized Storage Format — Residual Row part 2026/4/17
≈ 2𝑛𝑛𝑧 + 𝑛𝑛𝑧𝑡 + 2𝑛 Standard CSR ≈ 2𝑛𝑛𝑧 + 𝑛 Overhead: Approximately 𝑛𝑛𝑧𝑡 + 𝑛 additional storage, roughly 50% more compared to CSR? Trade-off: The 50% increase in storage space is a minimal cost for the significant gains in memory access efficiency and L2 cache hit rates. Standard CSR 2026/4/17
Custom format uses only ~50% more space than standard CSR. • This only accounts for the final static storage, ignoring the massive peak memory footprint during preprocessing (Algorithm 1). Overhead 1: Redundant Input Formats • Algorithm 1 requires row_offset (CSR) AND row_idx (COO) simultaneously. • Input alone takes 3 × 𝑛𝑛𝑧 + 𝑛 before any processing begins. Overhead 2: Temporary array nnz_window_id • requires 𝑛𝑛𝑧 allocation. 2026/4/17
× 𝐾 (Residual Row) × 𝐾 × 𝑁 (Matrix B) → 1 × 𝑁 (Row in Matrix C) 1-D Tiling Strategy • set 𝑏𝑙𝑜𝑐𝑘𝐷𝑖𝑚. 𝑥 = 1, 𝑏𝑙𝑜𝑐𝑘𝐷𝑖𝑚. 𝑦 = 𝑁 • 1 Thread Block→Handles 1 residual row(Computes 1 row in Matrix C). • 1 Thread→Computes 1 element in Matrix C(Handles 1 column in Matrix B) Execution Flow & Write-Back • Executes serially after the TC Block kernel finishes. • Each thread writes to a unique element in Matrix C. • No Atomics: Safe to use += directly to aggregate final results (𝐶[𝑥 ∗ 𝑁 + 𝑡𝑖𝑑] += 𝑟𝑒𝑠𝑢𝑙𝑡). 2026/4/17 Residual Row Matrix B Row in Matrix C
library (v12.4), used as the primary baseline. Sputnik: A SOTA sparse library designed for deep learning, optimized for CUDA cores. Tensor Core Based Methods: TCGNN-SpMM: Pioneering work bringing SpMM computation to Tensor Cores via SGT. DTC-SpMM: SOTA implementation focused on bridging the gap for SpMM with Tensor Cores Evaluate normalized speedup relative to cuSPARSE across varying dense matrix columns (N=32~256). 29 2026/4/17
speedup of 2.1x when N=32. • Peak Performance: Reaches a maximum speedup of 2.9x on the PubMed dataset. • Vs. DTC-SpMM: Delivers an average speedup of 1.2x across all scenarios. 30 2026/4/17
attributed to the 32 × 4 thread block configuration(4 warps). • Each warp computes 8 columns via m16n8k8, maximizing thread efficiency. • For larger N, redundant memory reads of 𝐴𝑡𝑖𝑙𝑒 degrade relative performance. 31 2026/4/17
across all eight datasets. • Scalability: On the largest dataset, BRP-SpMM is 212.9x faster than TCGNN-SpMM (CPU). • Speedup vs SOTA: 1.9x faster than DTC-SpMM on the Yelp dataset. • Scalability: As the dataset size increases, the advantage becomes more significant. 32 2026/4/17
cuSPARSE and +8.6% over DTC-SpMM. • Peak Performance: Over 20% improvement on the Yelp dataset. • The 128-byte aligned memory access significantly improves hardware efficiency. 34 2026/4/17
to the standard COO format. • Requires at most 50% more space compared to the highly compressed CSR format. • Peak Memory Footprint during preprocessing: 10𝑛𝑛𝑧 35 2026/4/17
Model: 2-layer Graph Convolutional Network (GCN). • Frameworks: Compared against DGL, PyG, TC-GNN, and DTC-GCN. • Average Speedup: BRP-GCN achieves 1.13x to 1.51x speedup over all baselines. • Maximum Gain: Reaches 1.87x speedup over DGL on the Yelp dataset when N=128. • Format conversion time is included in the totals and proven negligible 36 2026/4/17
underutilized Tensor Cores in high-sparsity SpMM. • Solution: Partition matrices into a TC Block part and a Residual Row part. Key Results • vs. cuSPARSE: Up to 2.9× (avg 2.1×) kernel speedup. • vs. SOTA (DTC-SpMM): Up to 1.8× (avg 1.2×) kernel speedup. • End-to-End GNN Training: Up to 1.9× faster in GNN training compared to DGL/PyG. Limitations & Future Work • The "Fixed Non-zero(𝑓 = 1)" strategy is sub-optimal for moderate sparsity (50%-80%). • Residual part becomes overly small in massive graphs, limiting GPU thread utilization. • Future Work: Needs an adaptive approach to dynamically adjust f and g parameters. 37 2026/4/17
paid to the actual memory cost during the preprocessing phase. • Even with 99% sparsity, local sparsity patterns can trigger excessive TC Blocks and reduce efficiency. • The reduction in atomic writes is less significant than claimed; • The primary source of improvement (BRP or reduced instructions) remains unclear. • For Krylov iterations, SpMM primarily appears in specialized variants such as Block-GMRES.
and Yufei Ding. TC-GNN: Bridging Sparse GNN Computation and Dense Tensor Cores on GPUs. In Proceedings of the 2023 USENIX Annual Technical Conference (ATC 2023), pages 149–164. USENIX, 2023. [2] Ruibo Fan, Wei Wang, and Xiaowen Chu. DTC-SpMM: Bridging the Gap in Accelerating General Sparse Matrix Multiplication with Tensor Cores. In Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS 2024), pages 253–267. ACM, 2024. 39 2026/4/17