Parallelizing Maximal Clique Enumeration on GPUs
arXiv:2212.01473 · doi:10.1109/PACT58117.2023.00022
Abstract
We present a GPU solution for exact maximal clique enumeration (MCE) that performs a search tree traversal following the Bron-Kerbosch algorithm. Prior works on parallelizing MCE on GPUs perform a breadth-first traversal of the tree, which has limited scalability because of the explosion in the number of tree nodes at deep levels. We propose to parallelize MCE on GPUs by performing depth-first traversal of independent subtrees in parallel. Since MCE suffers from high load imbalance and memory capacity requirements, we propose a worker list for dynamic load balancing, as well as partial induced subgraphs and a compact representation of excluded vertex sets to regulate memory consumption. Our evaluation shows that our GPU implementation on a single GPU outperforms the state-of-the-art parallel CPU implementation by a geometric mean of 4.9x (up to 16.7x), and scales efficiently to multiple GPUs. Our code has been open-sourced to enable further research on accelerating MCE.
References in corpus (5)
- Clique percolation in random networks
- Exploration of Fine-Grained Parallelism for Load Balancing Eager K-truss on GPU and CPU
- Parallel Algorithms for Finding Large Cliques in Sparse Graphs
- Efficient and Scalable Graph Pattern Mining on GPUs
- Accelerating Clique Counting in Sparse Real-World Graphs via Communication-Reducing Optimizations