Skip to Main content Skip to Navigation
Journal articles

GPU-accelerated backtracking using CUDA dynamic parallelism

Abstract : New GPGPU technologies, such as CUDA Dynamic Parallelism (CDP), can help dealing with recursive patterns of computation, such as divide-and-conquer, used by backtracking algorithms. In this paper, we propose a GPU-accelerated backtracking algorithm using CDP that extends a well-known parallel backtracking model. The search starts on CPU, processing the search tree until a first cutoff depth. Based on this partial backtracking tree, the algorithm analyzes the memory requirements of subsequent kernel generations. The proposed algorithm performs no dynamic allocation of memory on GPU, unlike related works from the literature. The proposed algorithm has been extensively tested using the N-Queens Puzzle problem and instances of the Asymmetric Traveling Salesman Problem (ATSP) as test-cases. The proposed CDP algorithm may, under some conditions, outperform its non-CDP counterpart by a factor up to 25. But, it may also be up to twice slower. The CDP-based implementation has much better worst case execution times and makes algorithm's performance less dependent on the tuning of parameters. Compared to other CDP-based strategies from the literature, the proposed algorithm is on average 8× faster. The proposed algorithm is also hybridized with another CDP-based strategy from the literature. The combination of strategies is in average 4.5× faster than the related strategy. We also identify some difficulties, limitations, and bottlenecks concerning the CDP programming model which may be useful for helping potential users.
Complete list of metadata

Cited literature [39 references]  Display  Hide  Download

https://hal.inria.fr/hal-01919514
Contributor : Tiago Carneiro Pessoa <>
Submitted on : Monday, November 12, 2018 - 3:40:40 PM
Last modification on : Saturday, December 12, 2020 - 3:13:57 AM

Identifiers

Citation

Tiago Carneiro Pessoa, Jan Gmys, Francisco Heron de Carvalho Junior, Nouredine Melab, Daniel Tuyttens. GPU-accelerated backtracking using CUDA dynamic parallelism. Concurrency and Computation: Practice and Experience, Wiley, 2018, 30 (9), ⟨10.1002/cpe.4374⟩. ⟨hal-01919514⟩

Share

Metrics

Record views

471