PulseExploreJournal ClubDebatesTrendingResearchersJournals
Instagram
HomeExploreJournal ClubTrending
Synapse
⌘+K
Synapse
November 1, 2014161 citations

Fast Sparse Matrix-Vector Multiplication on GPUs for Graph Applications

View Full Paper
AAArash AshariNSNaser SedaghatiJEJohn Eisenlohr

Key Points

Key points are not available for this paper at this time.

Abstract

Sparse matrix-vector multiplication (SpMV) is a widely used computational kernel. The most commonly used format for a sparse matrix is CSR (Compressed Sparse Row), but a number of other representations have recently been developed that achieve higher SpMV performance. However, the alternative representations typically impose a significant preprocessing overhead. While a high preprocessing overhead can be amortized for applications requiring many iterative invocations of SpMV that use the same matrix, it is not always feasible -- for instance when analyzing large dynamically evolving graphs. This paper presents ACSR, an adaptive SpMV algorithm that uses the standard CSR format but reduces thread divergence by combining rows into groups (bins) which have a similar number of non-zero elements. Further, for rows in bins that span a wide range of non zero counts, dynamic parallelism is leveraged. A significant benefit of ACSR over other proposed SpMV approaches is that it works directly with the standard CSR format, and thus avoids significant preprocessing overheads. A CUDA implementation of ACSR is shown to outperform SpMV implementations in the NVIDIA CUSP and cuSPARSE libraries on a set of sparse matrices representing power-law graphs. We also demonstrate the use of ACSR for the analysis of dynamic graphs, where the improvement over extant approaches is even higher.

Ask AI
Helpful
Bookmark
Share
View Full Paper

Cite This Study

Ashari et al. (2014) studied this question.

synapsesocial.com/papers/69da127114d58ce4aaa3bfe0https://doi.org/10.1109/sc.2014.69
Ask AI
Helpful
Bookmark
Share
View Full Paper