Two Algorithms to Find all Maximal Cliques on Graphical Processing Units (GPUs)

Two new algorithms are presented to find all the maximal cliques in an undirected graph. The algorithms are not recursive and they have been designed to take advantage of the large number of cores available in Graphical Processing Units (GPUs). The proposed algorithm evaluates all elements of the Power Set of the set of vertices, in other words, all the possible subsets of the set of vertices and finds for each of them, in parallel, if that particular subset is a clique. Once all cliques have been found, the cliques that are not maximal are eliminated. The algorithms differ in the way the non-maximal cliques are discarded. In one version, as soon as one subset of vertices has been identified as being a clique, the code checks if this is a maximal clique. In the other version, all the cliques are brought to the host computer and the cliques that are subsets of other cliques are discarded. Prototype implementations have been written using Thrust. Results of experiments are included. The code can be easily adapted to solve the dual problem of the maximal cliques problem: The maximal independent sets problem.

Authors

Institutions

Publication Details

Published
2025-05-29
DOI
https://doi.org/10.1109/eit64391.2025.11103618
Primary Topic
Graph Theory and Algorithms
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Two Algorithms to Find all Maximal Cliques on Graphical Processing Units (GPUs)

Byron DeVries, T. Elise Dettling, Christian Trefftz
Graph Theory and Algorithms
article

Two Algorithms to Find all Maximal Cliques on Graphical Processing Units (GPUs)

Byron DeVries, T. Elise Dettling, Christian Trefftz
article en

Abstract

Two new algorithms are presented to find all the maximal cliques in an undirected graph. The algorithms are not recursive and they have been designed to take advantage of the large number of cores available in Graphical Processing Units (GPUs). The proposed algorithm evaluates all elements of the Power Set of the set of vertices, in other words, all the possible subsets of the set of vertices and finds for each of them, in parallel, if that particular subset is a clique. Once all cliques have been found, the cliques that are not maximal are eliminated. The algorithms differ in the way the non-maximal cliques are discarded. In one version, as soon as one subset of vertices has been identified as being a clique, the code checks if this is a maximal clique. In the other version, all the cliques are brought to the host computer and the cliques that are subsets of other cliques are discarded. Prototype implementations have been written using Thrust. Results of experiments are included. The code can be easily adapted to solve the dual problem of the maximal cliques problem: The maximal independent sets problem.

Grand Valley State University (US)
Affordable and clean energy
Openalex Percentile: Top 81%
Graph Theory and Algorithms
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.