massively parallel a search on a gpu
play

Massively Parallel A* Search on a GPU Yichao Zhou Jianyang Zeng - PowerPoint PPT Presentation

Massively Parallel A* Search on a GPU Yichao Zhou Jianyang Zeng Institute for Interdisciplinary Information Sciences Tsinghua University, Beijing, P. R. China Jan, 2015 Yichao Zhou, Jianyang Zeng Massively Parallel A* Search on a GPU A Brief


  1. Massively Parallel A* Search on a GPU Yichao Zhou Jianyang Zeng Institute for Interdisciplinary Information Sciences Tsinghua University, Beijing, P. R. China Jan, 2015 Yichao Zhou, Jianyang Zeng Massively Parallel A* Search on a GPU

  2. A Brief Concept to GPU Computation Core 1 Core 2 CPU (several cores) performance GPU (thousands of cores) Yichao Zhou, Jianyang Zeng Massively Parallel A* Search on a GPU ☺ More computational units ☺ Decent single thread ☺ Energy efficient ☹ Limited in parallelism ☹ Need massive parallelism

  3. Shortest Path Search Problem Find the shortest path from the starting node s to the goal node t . s t Yichao Zhou, Jianyang Zeng Massively Parallel A* Search on a GPU

  4. Heuristic Function s x t Heuristic Function Yichao Zhou, Jianyang Zeng Massively Parallel A* Search on a GPU f ( x ) = g ( x ) + h ( x ) g ( x ) : distance from the starting node s to node x ; h ( x ) : estimated distance from node x to the goal node t

  5. Heuristic Function s x t Heuristic Function Yichao Zhou, Jianyang Zeng Massively Parallel A* Search on a GPU f ( x ) = g ( x ) + h ( x ) g ( x ) : distance from the starting node s to node x ; h ( x ) : estimated distance from node x to the goal node t

  6. Heuristic Function s x t Heuristic Function Yichao Zhou, Jianyang Zeng Massively Parallel A* Search on a GPU f ( x ) = g ( x ) + h ( x ) g ( x ) : distance from the starting node s to node x ; h ( x ) : estimated distance from node x to the goal node t

  7. A* Search Example s t Extracted Frontier Visited Unknown Yichao Zhou, Jianyang Zeng Massively Parallel A* Search on a GPU

  8. A* Search Example s t Extracted Frontier Visited Unknown Yichao Zhou, Jianyang Zeng Massively Parallel A* Search on a GPU

  9. A* Search Example s t Extracted Frontier Visited Unknown Yichao Zhou, Jianyang Zeng Massively Parallel A* Search on a GPU

  10. A* Search Example s t Extracted Frontier Visited Unknown Yichao Zhou, Jianyang Zeng Massively Parallel A* Search on a GPU

  11. A* Search Example s t Extracted Frontier Visited Unknown Yichao Zhou, Jianyang Zeng Massively Parallel A* Search on a GPU

  12. A* Search Example s t Extracted Frontier Visited Unknown Yichao Zhou, Jianyang Zeng Massively Parallel A* Search on a GPU

  13. Related Work (Parallelization of A* Search) Solve multiple small A* search problems simultaneously on a GPU (Bleiweiss 2008) Parallelize A* on a CPU cluster (Kishimoto, Fukunaga, and Botea 2013) Node expansion on a GPU for Dijkstra (Sulewski, Edelkamp, and Kissmann 2011) None of them makes general A* search work on a GPU! Yichao Zhou, Jianyang Zeng Massively Parallel A* Search on a GPU

  14. Related Work (Parallelization of A* Search) Solve multiple small A* search problems simultaneously on a GPU (Bleiweiss 2008) Parallelize A* on a CPU cluster (Kishimoto, Fukunaga, and Botea 2013) Node expansion on a GPU for Dijkstra (Sulewski, Edelkamp, and Kissmann 2011) None of them makes general A* search work on a GPU! Yichao Zhou, Jianyang Zeng Massively Parallel A* Search on a GPU

  15. Our Contribution The first GPU-based A* search framework Massively Parallel Algorithm “Pure” GPU Algorithm Data structures are stored on the GPU Minimize data transmission overhead General A* Search Algorithm Efficient for different problems Guarantee to find the global optimal solution Yichao Zhou, Jianyang Zeng Massively Parallel A* Search on a GPU

  16. Our Contribution The first GPU-based A* search framework Massively Parallel Algorithm “Pure” GPU Algorithm Data structures are stored on the GPU Minimize data transmission overhead General A* Search Algorithm Efficient for different problems Guarantee to find the global optimal solution Yichao Zhou, Jianyang Zeng Massively Parallel A* Search on a GPU

  17. Our Contribution The first GPU-based A* search framework Massively Parallel Algorithm “Pure” GPU Algorithm Data structures are stored on the GPU Minimize data transmission overhead General A* Search Algorithm Efficient for different problems Guarantee to find the global optimal solution Yichao Zhou, Jianyang Zeng Massively Parallel A* Search on a GPU

  18. Our Contribution The first GPU-based A* search framework Massively Parallel Algorithm “Pure” GPU Algorithm Data structures are stored on the GPU Minimize data transmission overhead General A* Search Algorithm Efficient for different problems Guarantee to find the global optimal solution Yichao Zhou, Jianyang Zeng Massively Parallel A* Search on a GPU

  19. Workflow of Traditional A* Algorithm s 2 Yichao Zhou, Jianyang Zeng Push-Back Expand Extract Push-Back t n t 1 t n Priority t 1 s k s 1 t 2 Massively Parallel A* Search on a GPU Qveue s k Priority s 1 Qveue 1 q 3 q q 1 Priority Qveue 3 Deduplicate Compute f ( t 1 ) f ( t 1 ) f ( t 2 ) · · · . . . · · · . . . · · · f ( t n − 1 ) t n − 1 s k − 1 f ( t n ) f ( t n )

  20. Workflow of Traditional A* Algorithm s 2 Yichao Zhou, Jianyang Zeng Push-Back Expand Extract Push-Back t n t 1 t n Priority t 1 s k s 1 t 2 Massively Parallel A* Search on a GPU Qveue s k Priority s 1 Qveue 1 q 3 q q 1 Priority Qveue 3 Deduplicate Compute f ( t 1 ) f ( t 1 ) f ( t 2 ) · · · . . . · · · . . . · · · f ( t n − 1 ) t n − 1 s k − 1 f ( t n ) f ( t n )

  21. Workflow of Traditional A* Algorithm s 2 Yichao Zhou, Jianyang Zeng Push-Back Expand Extract Push-Back t n t 1 t n Priority t 1 s k s 1 t 2 Massively Parallel A* Search on a GPU Qveue s k Priority s 1 Qveue 1 q 3 q q 1 Priority Qveue 3 Deduplicate Compute f ( t 1 ) f ( t 1 ) f ( t 2 ) · · · . . . · · · . . . · · · f ( t n − 1 ) t n − 1 s k − 1 f ( t n ) f ( t n )

  22. Workflow of Traditional A* Algorithm s 2 Yichao Zhou, Jianyang Zeng Push-Back Expand Extract Push-Back t n t 1 t n Priority t 1 s k s 1 t 2 Massively Parallel A* Search on a GPU Qveue s k Priority s 1 Qveue 1 q 3 q q 1 Priority Qveue 3 Deduplicate Compute f ( t 1 ) f ( t 1 ) f ( t 2 ) · · · . . . · · · . . . · · · f ( t n − 1 ) t n − 1 s k − 1 f ( t n ) f ( t n )

  23. Workflow of Traditional A* Algorithm s 2 Yichao Zhou, Jianyang Zeng Push-Back Expand Extract Push-Back t n t 1 t n Priority t 1 s k s 1 t 2 Massively Parallel A* Search on a GPU Qveue s k Priority s 1 Qveue 1 q 3 q q 1 Priority Qveue 3 Deduplicate Compute f ( t 1 ) f ( t 1 ) f ( t 2 ) · · · . . . · · · . . . · · · f ( t n − 1 ) t n − 1 s k − 1 f ( t n ) f ( t n )

  24. Workflow of Traditional A* Algorithm s 2 Yichao Zhou, Jianyang Zeng Push-Back Expand Extract Push-Back t n t 1 t n Priority t 1 s k s 1 t 2 Massively Parallel A* Search on a GPU Qveue s k Priority s 1 Qveue 1 q 3 q q 1 Priority Qveue 3 Deduplicate Compute f ( t 1 ) f ( t 1 ) f ( t 2 ) · · · . . . · · · . . . · · · f ( t n − 1 ) t n − 1 s k − 1 f ( t n ) f ( t n )

  25. Workflow of Traditional A* Algorithm s 2 Yichao Zhou, Jianyang Zeng Push-Back Expand Extract Push-Back t n t 1 t n Priority t 1 s k s 1 t 2 Massively Parallel A* Search on a GPU Qveue s k Priority s 1 Qveue 1 q 3 q q 1 Priority Qveue 3 Deduplicate Compute f ( t 1 ) f ( t 1 ) f ( t 2 ) · · · . . . · · · . . . · · · f ( t n − 1 ) t n − 1 s k − 1 f ( t n ) f ( t n )

  26. Workflow of Traditional A* Algorithm s 2 Yichao Zhou, Jianyang Zeng Push-Back Expand Extract Push-Back t n t 1 t n Priority t 1 s k s 1 t 2 Massively Parallel A* Search on a GPU Qveue s k Priority s 1 Qveue 1 q 3 q q 1 Priority Qveue 3 Deduplicate Compute f ( t 1 ) f ( t 1 ) f ( t 2 ) · · · . . . · · · . . . · · · f ( t n − 1 ) t n − 1 s k − 1 f ( t n ) f ( t n )

  27. Workflow of GPU-based A* Algorithm s 1 Yichao Zhou, Jianyang Zeng Push-Back Expand Extract Push-Back t n Priority t 1 s k t 2 Massively Parallel A* Search on a GPU q 3 q 1 Qveue 1 Qveue 3 q 2 Priority s 2 Priority Qveue 2 Deduplicate Compute f ( t 1 ) f ( t 2 ) · · · . . . · · · · · · . . . · · · . . . · · · · · · . . . · · · f ( t n − 1 ) t n − 1 s k − 1 f ( t n )

  28. Workflow of GPU-based A* Algorithm s 1 Yichao Zhou, Jianyang Zeng Push-Back Expand Extract Push-Back t n Priority t 1 s k t 2 Massively Parallel A* Search on a GPU q 3 q 1 Qveue 1 Qveue 3 q 2 Priority s 2 Priority Qveue 2 Deduplicate Compute f ( t 1 ) f ( t 2 ) · · · . . . · · · · · · . . . · · · . . . · · · · · · . . . · · · f ( t n − 1 ) t n − 1 s k − 1 f ( t n )

  29. Workflow of GPU-based A* Algorithm s 1 Yichao Zhou, Jianyang Zeng Push-Back Expand Extract Push-Back t n Priority t 1 s k t 2 Massively Parallel A* Search on a GPU q 3 q 1 Qveue 1 Qveue 3 q 2 Priority s 2 Priority Qveue 2 Deduplicate Compute f ( t 1 ) f ( t 2 ) · · · . . . · · · · · · . . . · · · . . . · · · · · · . . . · · · f ( t n − 1 ) t n − 1 s k − 1 f ( t n )

  30. GPU-based A* Search Example Using 3 Priority Qveues 2 Yichao Zhou, Jianyang Zeng Unknown Visited in i th Qveue Frontier node i from i th Qveue Extracted node i 3 1 t 3 2 2 3 2 1 1/ s 1 1 Massively Parallel A* Search on a GPU

  31. GPU-based A* Search Example Using 3 Priority Qveues 2 Yichao Zhou, Jianyang Zeng Unknown Visited in i th Qveue Frontier node i from i th Qveue Extracted node i 3 1 t 3 2 2 3 2 1 1/ s 1 1 Massively Parallel A* Search on a GPU

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend