SpChar: Characterizing the Sparse Puzzle via Decision Trees

04/14/2023
by   Francesco Sgherzi, et al.
0

Sparse matrix computation is crucial in various modern applications, including large-scale graph analytics, deep learning, and recommendation systems. The performance of these algorithms varies greatly depending on the structure of the input matrix, making it difficult to gain a comprehensive understanding of sparse computation and its relationship to inputs, algorithms, and target machine architecture. Despite extensive research on certain sparse algorithms, such as SpMV, the overall family of sparse algorithms has yet to be investigated as a whole. In this paper, we introduce SpChar, a workload characterization methodology for general sparse computation. SpChar employs tree-based models to identify the most relevant hardware and input characteristics, starting from hardware and input-related metrics gathered from Performance Monitoring Counters and matrices. Our analysis enables the creation of a characterization loop that facilitates the optimization of sparse computation by mapping the impact of architectural features to inputs and algorithmic choices. We apply SpChar to more than 600 matrices from the SuiteSparse Matrix collection and three state-of-the-art Arm CPUs to determine the critical hardware and software characteristics that affect sparse computation. In our analysis, we determine that the biggest limiting factors for high-performance sparse computation are (1) the latency of the memory system, (2) the pipeline flush overhead resulting from branch misprediction, and (3) the poor reuse of cached elements. However, the degree to which those impact the performance of a CPU greatly depends on the algorithm and the input data.

READ FULL TEXT

page 12

page 14

page 15

page 17

page 18

page 19

research
10/23/2019

SMASH: Co-designing Software Compression and Hardware-Accelerated Indexing for Efficient Sparse Matrix Operations

Important workloads, such as machine learning and graph analytics applic...
research
12/19/2021

Parallel Algorithms for Adding a Collection of Sparse Matrices

We develop a family of parallel algorithms for the SpKAdd operation that...
research
05/29/2018

Optimizing Sparse Matrix-Vector Multiplication on Emerging Many-Core Architectures

Sparse matrix vector multiplication (SpMV) is one of the most common ope...
research
10/10/2020

Cross-Stack Workload Characterization of Deep Recommendation Systems

Deep learning based recommendation systems form the backbone of most per...
research
06/30/2020

Adaptive SpMV/SpMSpV on GPUs for Input Vectors of Varied Sparsity

Despite numerous efforts for optimizing the performance of Sparse Matrix...
research
10/29/2019

Efficient Computation for Centered Linear Regression with Sparse Inputs

Regression with sparse inputs is a common theme for large scale models. ...
research
07/24/2023

Entropy Maximization in Sparse Matrix by Vector Multiplication (max_E SpMV)

The peak performance of any SpMV depends primarily on the available memo...

Please sign up or login with your details

Forgot password? Click here to reset