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

Recommend


More recommend