Affiliation:
1. University of California, Davis, CA
Abstract
For large-scale graph analytics on the GPU, the irregularity of data access and control flow, and the complexity of programming GPUs, have presented two significant challenges to developing a programmable high-performance graph library. “Gunrock,” our graph-processing system designed specifically for the GPU, uses a high-level, bulk-synchronous, data-centric abstraction focused 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 characterize the performance of various optimization strategies and evaluate Gunrock’s overall performance on different GPU architectures on a wide range of graph primitives that span from traversal-based algorithms and ranking algorithms, to triangle counting and bipartite-graph-based algorithms. The results show that on a single GPU, Gunrock has on average at least an order of magnitude speedup over Boost and PowerGraph, comparable performance to the fastest GPU hardwired primitives and CPU shared-memory graph libraries, such as Ligra and Galois, and better performance than any other GPU high-level graph library.
Funder
Defense Advanced Research Projects Agency, STTR awards
Defense Advanced Research Projects Agency, XDATA Program, US Army award
UC Lab Fees Research Program Award
National Science Foundation awards
Publisher
Association for Computing Machinery (ACM)
Subject
Computational Theory and Mathematics,Computer Science Applications,Hardware and Architecture,Modeling and Simulation,Software
Reference86 articles.
1. Christopher R. Aberger Andres Nötzli Kunle Olukotun and Christopher Ré. 2015. EmptyHeaded: Boolean algebra based graph processing. CoRR abs/1503.02368 (2015). http://arxiv.org/abs/1503.02368 Christopher R. Aberger Andres Nötzli Kunle Olukotun and Christopher Ré. 2015. EmptyHeaded: Boolean algebra based graph processing. CoRR abs/1503.02368 (2015). http://arxiv.org/abs/1503.02368
2. GPU multisplit
3. Computing Strongly Connected Components in Parallel on CUDA
4. Sean Baxter. 2013. Modern GPU Multisets. Retrieved from https://nvlabs.github.io/moderngpu/sets.html. Sean Baxter. 2013. Modern GPU Multisets. Retrieved from https://nvlabs.github.io/moderngpu/sets.html.
5. Sean Baxter. 2013--2016. Moderngpu: Patterns and Behaviors for GPU Computing. Retrieved from http://moderngpu.github.io/moderngpu. Sean Baxter. 2013--2016. Moderngpu: Patterns and Behaviors for GPU Computing. Retrieved from http://moderngpu.github.io/moderngpu.
Cited by
93 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Board gender diversity, audit quality, and the moderating role of political connections: evidence from the Gulf Co-operation Council Countries (GCC);International Journal of Accounting & Information Management;2024-07-30
2. GraphScope Flex: LEGO-like Graph Computing Stack;Companion of the 2024 International Conference on Management of Data;2024-06-09
3. DAWN: Matrix Operation-Optimized Algorithm for Shortest Paths Problem on Unweighted Graphs;Proceedings of the 38th ACM International Conference on Supercomputing;2024-05-30
4. AMST: Accelerating Large-Scale Graph Minimum Spanning Tree Computation on FPGA;2024 IEEE International Parallel and Distributed Processing Symposium (IPDPS);2024-05-27
5. Parallel Maximum Cardinality Matching for General Graphs on GPUs;2024 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW);2024-05-27