Litcius/Paper detail

Learning Sparse Matrix Row Permutations for Efficient SpMM on GPU Architectures

Atefeh Mehrabi, Donghyuk Lee, Niladrish Chatterjee, Daniel J. Sorin, Benjamin C. Lee, Mike O’Connor

202120 citationsDOI

Abstract

Achieving peak performance on sparse operations is challenging. The distribution of the non-zero elements and underlying hardware platform affect the execution efficiency. Given the diversity in workloads and architectures, no unique solution always wins. In this paper, we improve SpMM efficiency on GPUs. We propose several simple, but effective, sparse data permutations on the CSR data structure. Picking the right permutation over 1,688 datasets improves performance by 1.4×, on average, compared to plain CSR and 2.6× against NVIDIA cuSPARSE. Furthermore, we propose a set of novel features to describe sparsity patterns and their interactions with the kernel and hardware. Using these features, we develop a predictor to select the best permutation for each matrix. Predicted permutations' average gain achieves 96% of oracle gains.

Topics & Concepts

Computer scienceOracleSparse matrixKernel (algebra)Permutation (music)Parallel computingSet (abstract data type)Performance improvementAlgorithmMathematicsGaussianPhysicsAcousticsEconomicsCombinatoricsSoftware engineeringProgramming languageQuantum mechanicsOperations managementNetwork Packet Processing and OptimizationAlgorithms and Data CompressionAdvanced Neural Network Applications
Learning Sparse Matrix Row Permutations for Efficient SpMM on GPU Architectures | Litcius