  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^*(2^{n})$-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\times$) compared to
running the same algorithm on the CPU.
