K-Clique Counting on GPUs

04/27/2021
by   Mohammad Almasri, et al.
0

Counting k-cliques in a graph is an important problem in graph analysis with many applications. Counting k-cliques is typically done by traversing search trees starting at each vertex in the graph. An important optimization is to eliminate search tree branches that discover the same clique redundantly. Eliminating redundant clique discovery is typically done via graph orientation or pivoting. Parallel implementations for both of these approaches have demonstrated promising performance on CPUs. In this paper, we present our GPU implementations of k-clique counting for both the graph orientation and pivoting approaches. Our implementations explore both vertex-centric and edge-centric parallelization schemes, and replace recursive search tree traversal with iterative traversal based on an explicitly-managed shared stack. We also apply various optimizations to reduce memory consumption and improve the utilization of parallel execution resources. Our evaluation shows that our best GPU implementation outperforms the best state-of-the-art parallel CPU implementation by a geometric mean speedup of 12.39x, 6.21x, and 18.99x for k = 4, 7, and 10, respectively. We also evaluate the impact of the choice of parallelization scheme and the incremental speedup of each optimization. Our code will be open-sourced to enable further research on parallelizing k-clique counting on GPUs.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/02/2022

Parallelizing Maximal Clique Enumeration on GPUs

We present a GPU solution for exact maximal clique enumeration (MCE) tha...
research
06/05/2017

QuickCSG: Fast Arbitrary Boolean Combinations of N Solids

QuickCSG computes the result for general N-polyhedron boolean expression...
research
08/26/2020

Exploring the Design Space of Static and Incremental Graph Connectivity Algorithms on GPUs

Connected components and spanning forest are fundamental graph algorithm...
research
09/04/2019

Fast BFS-Based Triangle Counting on GPUs

In this paper, we propose a novel method to compute triangle counting on...
research
02/24/2020

Parallel Clique Counting and Peeling Algorithms

Dense subgraphs capture strong communities in social networks and entiti...
research
01/19/2020

The Power of Pivoting for Exact Clique Counting

Clique counting is a fundamental task in network analysis, and even the ...
research
04/21/2022

Parallel Vertex Cover Algorithms on GPUs

Finding small vertex covers in a graph has applications in numerous doma...

Please sign up or login with your details

Forgot password? Click here to reset