Parallel K-Clique Counting on GPUs
Mohammad Almasri, Izzat El Hajj, Rakesh Nagi, Jinjun Xiong, Wen-mei, Hwu

TL;DR
This paper introduces the first GPU-optimized solution for counting k-cliques in graphs, leveraging multi-level parallelism and various optimizations to significantly outperform CPU-based methods.
Contribution
It presents a novel GPU-specific algorithm for k-clique counting, supporting multiple parallelization schemes and optimizations to handle load imbalance and memory constraints.
Findings
GPU implementation outperforms CPU by up to 19x for k=10
Supports both vertex-centric and edge-centric parallelization
Includes optimizations like binary encoding and sub-warp partitioning
Abstract
Counting k-cliques in a graph is an important problem in graph analysis with many applications such as community detection and graph partitioning. Counting k-cliques is typically done by traversing search trees starting at each vertex in the graph. Parallelizing k-clique counting has been well-studied on CPUs and many solutions exist. However, there are no performant solutions for k-clique counting on GPUs. Parallelizing k-clique counting on GPUs comes with numerous challenges such as the need for extracting fine-grain multi-level parallelism, sensitivity to load imbalance, and constrained physical memory capacity. While there has been work on related problems such as finding maximal cliques and generalized sub-graph matching on GPUs, k-clique counting in particular has yet to be explored in depth. In this paper, we present the first parallel GPU solution specialized for the k-clique…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsGraph Theory and Algorithms · Complex Network Analysis Techniques · Complexity and Algorithms in Graphs
