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 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.
Original language | English |
---|---|
Title of host publication | 12th International Symposium on Parameterized and Exact Computation, IPEC 2017 |
Place of Publication | Dagstuhl |
Publisher | Schloss Dagstuhl - Leibniz-Zentrum für Informatik |
Pages | 1-13 |
ISBN (Print) | 978-3-95977-051-4 |
DOIs | |
Publication status | Published - 1 Feb 2018 |
Event | 12th International Symposium on Parameterized and Exact Computation, IPEC 2017 - Vienna, Austria Duration: 6 Sept 2017 → 8 Sept 2017 Conference number: 12 https://algo2017.ac.tuwien.ac.at/ipec |
Publication series
Name | Leibniz International Proceedings in Informatics (LIPIcs) |
---|---|
Volume | 89 |
Conference
Conference | 12th International Symposium on Parameterized and Exact Computation, IPEC 2017 |
---|---|
Abbreviated title | IPEC 2017 |
Country/Territory | Austria |
City | Vienna |
Period | 6/09/17 → 8/09/17 |
Internet address |
Keywords
- Algorithm engineering
- Exact algorithms
- GPGPU
- GPU
- Graph algorithms
- Treewidth