Accelerating Graph Isomorphism with GPU-Parallel Canonical Labeling

Abstract

Graph isomorphism (GI) is a fundamental problem in computer science with applications across many domains, including chemistry for molecular comparison, pattern recognition in image analysis, and motif discovery in biological networks. Despite its importance, GI remains computationally hard on certain graph classes, where canonical labeling search trees can grow exponentially. This work presents a CUDA based parallelization of the canonical labeling algorithm (nauty), leveraging coarse grained parallelism across the search tree and fine-grained parallelism within nodes using GPU thread blocks. This strategy aims to achieve substantial speedups on structurally hard instances by enabling concurrent exploration of the search space, potentially making canonical labeling practical for graph classes previously considered infeasible. Extensive experimental evaluation on a diverse set of benchmark graph families demonstrates that GPU parallelization substantially reduces runtime, particularly on hard instances. On highly symmetric graph families, the proposed method achieves speedups ranging from approximately 4× to over 10,000× relative to our sequential baseline, and up to several thousand times relative to nauty. In such cases, early pruning enabled by parallel exploration eliminates large portions of the search tree. In contrast, graph families for which the explored search tree remains nearly identical across implementations exhibit consistent speedups of around 18×–23× over the sequential implementation and approximately 3× over nauty. The observed gains are mainly due to parallelizing the core computation within each search node rather than reductions in the search space. Overall, these results demonstrate that GPU-based parallel canonical labeling is both feasible and effective, delivering substantial performance improvements while preserving the algorithmic behavior of classical tools.

Description

Keywords

Citation

Endorsement

Review

Supplemented By

Referenced By