Spatiotemporal graph and hypergraph partitioning models for sparse matrix-vector multiplication on many-core architectures
Date
2019Source Title
IEEE Transactions on Parallel and Distributed Systems
Print ISSN
1045-9219
Publisher
IEEE Computer Society
Volume
30
Issue
2
Pages
445 - 458
Language
English
Type
ArticleItem Usage Stats
110
views
views
80
downloads
downloads
Abstract
There exist graph/hypergraph partitioning-based row/column reordering methods for encoding either spatial or temporal locality for sparse matrix-vector multiplication (SpMV) operations. Spatial and temporal hypergraph models in these methods are extended to encapsulate both spatial and temporal localities based on cut/uncut net categorization obtained from vertex partitioning. These extensions of spatial and temporal hypergraph models encode the spatial locality primarily and the temporal locality secondarily, and vice-versa, respectively. However, the literature lacks models that simultaneously encode both spatial and temporal localities utilizing only vertex partitioning for further improving the performance of SpMV on shared-memory architectures. In order to fill this gap, we propose a novel spatiotemporal hypergraph model that leads to a one-phase spatiotemporal reordering method which encodes both types of locality simultaneously. We also propose a framework for spatiotemporal methods which encodes both types of locality in two dependent phases and two separate phases. The validity of the proposed spatiotemporal models and methods are tested on a wide range of sparse matrices and the experiments are performed on both a 60-core Intel Xeon Phi processor and a Xeon processor. Results show the validity of the methods via almost doubling the Gflop/s performance through enhancing data locality in parallel SpMV operations.
Keywords
Sparse matrixSparse matrix-vector multiplication
Data locality
Spatial locality
Temporal locality
Hypergraph model
Bipartite graph model
Graph model
Hypergraph partitioning
Graph partitioning
Intel many integrated core architecture
Intel Xeon Phi