Exploring the Design Space of Static and Incremental Graph Connectivity Algorithms on GPUs
Author(s)
Hong, Changwan; Dhulipala, Laxman; Shun, Julian
Download3410463.3414657.pdf (1.534Mb)
Publisher Policy
Publisher Policy
Article is made available in accordance with the publisher's policy and may be subject to US copyright law. Please refer to the publisher's site for terms of use.
Terms of use
Metadata
Show full item recordAbstract
© 2020 Association for Computing Machinery. Connected components and spanning forest are fundamental graphalgorithms due to their use in many important applications, suchas graph clustering and image segmentation. GPUs are an idealplatform for graph algorithms due to their high peak performanceand memory bandwidth. While there exist several GPU connectivity algorithms in the literature, many design choices have notyet been explored. In this paper, we explore various design choicesin GPU connectivity algorithms, including sampling, linking, andtree compression, for both the static as well as the incrementalsetting. Our various design choices lead to over 300 new GPU implementations of connectivity, many of which outperform state-ofthe-art. We present an experimental evaluation, and show that weachieve an average speedup of 2.47x speedup over existing static algorithms. In the incremental setting, we achieve a throughput of upto 48.23 billion edges per second. Compared to state-of-the-art CPUimplementations on a 72-core machine, we achieve a speedup of8.26 14.51x for static connectivity and 1.85 13.36x for incrementalconnectivity using a Tesla V100 GPU.
Date issued
2020Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence LaboratoryJournal
Parallel Architectures and Compilation Techniques - Conference Proceedings, PACT
Publisher
ACM