2017/09/28 by Tom C. van der Zanden, van der Zanden, Tom C., Hans L. Bodlaender +1
Computer Science · #Advanced Graph Theory Research #Complexity and Algorithms in Graphs #Distributed #FOS: Computer and information sciences #G.2.2 #Network Packet Processing and Optimization #Parallel #and Cluster Computing (cs.DC)
paper · pdf · doi:10.48550/arxiv.1709.09990
openalex publication_date 2017/09/28 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28
We present a parallel algorithm for computing the treewidth of a graph on a GPU. We implement this algorithm in OpenCL, and experimentally evaluate its performance. Our algorithm is based on an O^*(2n)-time algorithm that explores the elimination orderings of the graph using a Held-Karp like dynamic programming approach. We use Bloom filters to detect duplicate solutions. GPU programming presents unique challenges and constraints, such as constraints on the use of memory and the need to limit branch divergence. We experiment with various optimizations to see if it is possible to work around these issues. We achieve a very large speed up (up to 77×) compared to running the same algorithm on the CPU.