Back to Search Start Over

A high-performance connected components implementation for GPUs

Authors :
Jayadharini Jaiganesh
Martin Burtscher
Source :
HPDC
Publication Year :
2018
Publisher :
ACM, 2018.

Abstract

Computing connected components is an important graph algorithm that is used, for example, in medicine, image processing, and biochemistry. This paper presents a fast connected-components implementation for GPUs called ECL-CC. It builds upon the best features of prior algorithms and augments them with GPU-specific optimizations. For example, it incorporates a parallelism-friendly version of pointer jumping to speed up union-find operations and uses several compute kernels to exploit the multiple levels of hardware parallelism. The resulting CUDA code is asynchronous and lock free, employs load balancing, visits each edge exactly once, and only processes edges in one direction. It is 1.8 times faster on average than the fastest prior GPU implementation running on a Titan X and faster on most of the eighteen real-world and synthetic graphs we tested.

Details

Database :
OpenAIRE
Journal :
Proceedings of the 27th International Symposium on High-Performance Parallel and Distributed Computing
Accession number :
edsair.doi...........1d2251e747cf8dc2e4114dac5db0b490