Computing Treewidth on the GPU
Tom C. van der Zanden, Hans L. Bodlaender

TL;DR
This paper introduces a GPU-based parallel algorithm for computing graph treewidth, achieving significant speedups over CPU implementations through optimized parallel processing and Bloom filters.
Contribution
The paper presents the first GPU implementation of a treewidth algorithm based on dynamic programming, demonstrating substantial performance improvements.
Findings
Up to 77x speedup over CPU implementations
Effective use of Bloom filters for duplicate detection
Successful adaptation of treewidth computation to GPU constraints
Abstract
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 -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 ) compared to running the same algorithm on the CPU.
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Graph Theory Research · Complexity and Algorithms in Graphs · Network Packet Processing and Optimization
