Gunrock
- 27 February 2016
- journal article
- research article
- Published by Association for Computing Machinery (ACM) in ACM SIGPLAN Notices
- Vol. 51 (8), 1-12
- https://doi.org/10.1145/3016078.2851145
Abstract
For large-scale graph analytics on the GPU, the irregularity of data access/control flow and the complexity of programming GPUs have been two significant challenges for developing a programmable high-performance graph library. "Gunrock," our high-level bulk-synchronous graph-processing system targeting the GPU, takes a new approach to abstracting GPU graph analytics: rather than designing an abstraction around computation, Gunrock instead implements a novel data-centric abstraction centered on operations on a vertex or edge frontier. Gunrock achieves a balance between performance and expressiveness by coupling high-performance GPU computing primitives and optimization strategies with a high-level programming model that allows programmers to quickly develop new graph primitives with small code size and minimal GPU programming knowledge. We evaluate Gunrock on five graph primitives (BFS, BC, SSSP, CC, and PageRank) and show that Gunrock has on average at least an order of magnitude speedup over Boost and PowerGraph, comparable performance to the fastest GPU hardwired primitives, and better performance than any other GPU high-level graph library.Keywords
Funding Information
- Defense Advanced Research Projects Agency (D14PC00023, D15PC00010)
- U.S. Army (W911QX-12-C-0059)
- UC Lab Fees Research Program Award (12-LR-238449)
- National Science Foundation (CCF-1017399, OCI-1032859)
This publication has 28 references indexed in Scilit:
- WTF, GPU! computing twitter's who-to-follow on the GPUPublished by Association for Computing Machinery (ACM) ,2014
- CuShaPublished by Association for Computing Machinery (ACM) ,2014
- Work-Efficient Parallel GPU Methods for Single-Source Shortest PathsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2014
- A lightweight infrastructure for graph analyticsPublished by Association for Computing Machinery (ACM) ,2013
- Medusa: Simplified Graph Processing on GPUsIEEE Transactions on Parallel and Distributed Systems, 2013
- Green-MarlPublished by Association for Computing Machinery (ACM) ,2012
- Edge v. Node Parallelism for Graph Centrality MetricsPublished by Elsevier BV ,2012
- Better Approximation of Betweenness CentralityPublished by Society for Industrial & Applied Mathematics (SIAM) ,2008
- Δ-stepping: a parallelizable shortest path algorithmJournal of Algorithms, 2003
- A faster algorithm for betweenness centrality*The Journal of Mathematical Sociology, 2001