51. Efficient parallel A* search on multi-GPU system
- Author
-
Jianhua Sun, Xin He, Yao Yapeng, Hao Chen, and Zhiwen Chen
- Subjects
Speedup ,Computer Networks and Communications ,Computer science ,Node (networking) ,Hash function ,Graph partition ,020206 networking & telecommunications ,02 engineering and technology ,Parallel computing ,Hardware and Architecture ,Search algorithm ,Graph traversal ,0202 electrical engineering, electronic engineering, information engineering ,020201 artificial intelligence & image processing ,Priority queue ,Pathfinding ,Software - Abstract
A* search is a best-first search algorithm that is widely used in pathfinding and graph traversal. To meet the ever-increasing demand of performance, various high-performance architectures (e.g., multi-core CPU and GPU) have been explored to accelerate the A* search. However, the current GPU based A* search approaches are merely designed based on single-GPU architecture. Nowadays, the amount of data grows at an exponential rate, making it inefficient or even infeasible for the current A* to process the data sets entirely on a single GPU. In this paper, we propose DA*, a parallel A* search algorithm based on the multi-GPU architecture. DA* enables the efficient acceleration of the A* algorithm using multiple GPUs with effective graph partitioning and data communication strategies. To make the most of the parallelism of multi-GPU architecture, in the state extension phase, we adopt the method of multiple priority queues for the open list, which allows multiple states being calculated in parallel. In addition, we use the parallel hashing of replacement and frontier search mechanism to address node duplication detection and memory bottlenecks respectively. The evaluation shows that DA* is effective and efficient in accelerating A* based computational tasks on the multi-GPU system. Compared to the state-of-the-art A* search algorithm based on a single GPU, our algorithm can achieve up to 3 × performance speedup with four GPUs.
- Published
- 2021