gMAGNUS speeds up GPU sparse matrix multiply 1.8-7.6x on irregular data
New algorithm tackles heavy rows that choke GPUs — up to 7.6x faster than MKL
Sparse matrix-matrix multiplication (SpGEMM) is a core operation in scientific computing, graph analytics, and AI. When matrices contain "heavy rows" — rows with many nonzeros that produce large intermediate products — GPU accumulators overflow local memory and spill to slower global memory, crippling performance. A new paper from researchers (Wolfson-Pou, Helal, Petrini) introduces gMAGNUS, a GPU algorithm that solves this via intra-row reordering: it splits heavy rows into independent chunks that fit entirely in local memory using novel outer product and hierarchical multisplit operations. The algorithm is input- and system-aware, automatically selecting the number of chunks and multisplit levels based on matrix dimensions and local memory size.
Benchmarked on two extensive datasets spanning Intel Ponte Vecchio (Max Series) and NVIDIA H200 GPUs, gMAGNUS achieved geometric-mean speedups of 1.81× to 7.62× over five state-of-the-art methods, including Intel MKL, NVIDIA cuSPARSE, and three academic baselines. Additionally, gMAGNUS’s core kernels ran at near-peak performance relative to theoretical roofline limits. The result is a practical, portable solution for the most challenging sparse matrices, with potential to accelerate graph neural networks, computational fluid dynamics, and other workloads where irregular sparsity dominates.
- gMAGNUS reorders heavy rows into local-memory-sized chunks using hierarchical multisplit, eliminating global memory spills.
- Achieves 1.81–7.62x geometric-mean speedup over Intel MKL, NVIDIA cuSPARSE, and three other leading SpGEMM implementations.
- Tested on Intel Ponte Vecchio and NVIDIA H200 GPUs with automatic tuning of chunk size and multisplit levels.
Why It Matters
Faster SpGEMM directly accelerates AI training, graph analytics, and HPC simulations that struggle with irregular sparse data.