LGMar 29, 2023

PopSparse: Accelerated block sparse matrix multiplication on IPU

arXiv:2303.16999v22 citationsh-index: 13Has Code
Originality Incremental advance
AI Analysis

This work addresses the problem of inefficient sparse computations on general-purpose accelerators for deep learning practitioners, offering a domain-specific solution that is incremental in improving hardware-specific performance.

The authors tackled the challenge of achieving actual speed improvements from sparsity in neural networks on specialized hardware, introducing PopSparse, a library that accelerates block sparse matrix multiplication on Graphcore IPUs, with results showing it outperforms dense operations at sparsity levels as low as 90%.

Reducing the computational cost of running large scale neural networks using sparsity has attracted great attention in the deep learning community. While much success has been achieved in reducing FLOP and parameter counts while maintaining acceptable task performance, achieving actual speed improvements has typically been much more difficult, particularly on general purpose accelerators (GPAs) such as NVIDIA GPUs using low precision number formats. In this work we introduce PopSparse, a library that enables fast sparse operations on Graphcore IPUs by leveraging both the unique hardware characteristics of IPUs as well as any block structure defined in the data. We target two different types of sparsity: static, where the sparsity pattern is fixed at compile-time; and dynamic, where it can change each time the model is run. We present benchmark results for matrix multiplication for both of these modes on IPU with a range of block sizes, matrix sizes and densities. Results indicate that the PopSparse implementations are faster than dense matrix multiplications on IPU at a range of sparsity levels with large matrix size and block size. Furthermore, static sparsity in general outperforms dynamic sparsity. While previous work on GPAs has shown speedups only for very high sparsity (typically 99\% and above), the present work demonstrates that our static sparse implementation outperforms equivalent dense calculations in FP16 at lower sparsity (around 90%). IPU code is available to view and run at ipu.dev/sparsity-benchmarks, GPU code will be made available shortly.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes