k-Clique Listing

Application Description

This benchmark finds k-cliques in an undirected graph. A k-clique is a complete subgraph with k vertices.

Algorithm

The algorithm is called extend-reduce. A initial worklist contains initial embedding (single vertex or edge). It extends each embedding with a vertex, and insert the new embeddings to the next worklist. Extension is repeated until the size of embedding is k (vertices). Each embedding is checked if it is a clique. If yes, the counter is increased by 1. No isomorphism test is needed.

Performance

We present timing on NVIDIA V100 GPU (32G memory) with k=4 and k=5

Graph k=4 Time (s) k=5 Time (s)
mico 0.1 8.8
patent_citations 0.02 0.03

Please read the following paper for detailed performance evaluation:

(VLDB 2020) [PDF] [Code]
Xuhao Chen, Roshan Dathathri, Gurbinder Gill, Keshav Pingali,
Pangolin: An Efficient and Flexible Graph Mining System on CPU and GPU,
PVLDB, 13(8): 1190-1205, 2020