research-article

Tilewise Accumulated Cost Surface Computation with Graphics Processing Units

Abstract

Accumulated cost surfaces are used in a variety of fields that employ spatial analysis. Several algorithms have been suggested in the past for solving them efficiently or with minimal errors. Meanwhile, a new wave on the technological frontier has brought about general-purpose computing on GPUs. In this article, we describe how accumulated cost surfaces can be solved with CUDA. To verify the performance of our solution, we performed an experimental comparison against implementations run on a CPU. Our results with realistic cost models indicate that the move to GPUs can engender a speed-up of an order of magnitude.

References

  1. Peter Adamson and Evan Tick. 1991. Greedy partitioned algorithms for the shortest-path problem. International Journal of Parallel Programming 20, 4, 271--298. DOI:http://dx.doi.org/10.1007/BF01408019Google ScholarGoogle ScholarCross RefCross Ref
  2. F. Adriaensen, J. P. Chardon, G. De Blust, E. Swinnen, S. Villalba, H. Gulinck, and E. Matthysen. 2003. The application of “least-cost” modelling as a functional landscape model. Landscape and Urban Planning 64, 4, 233--247. DOI:http://dx.doi.org/10.1016/S0169-2046(02)00242-6Google ScholarGoogle ScholarCross RefCross Ref
  3. Harri Antikainen. 2013. Comparison of different strategies for determining raster-based least-cost paths with a minimum amount of distortion. Transactions in GIS 17, 1, 96--108. DOI:http://dx.doi.org/10.1111/j.1467-9671.2012.01355.xGoogle ScholarGoogle ScholarCross RefCross Ref
  4. Yasuhito Asano and Hiroshi Imai. 2000. Practical efficiency of the linear-time algorithm for the single source shortest path problem. Journal of the Operations Research Society of Japan 43, 4, 431--447.Google ScholarGoogle ScholarCross RefCross Ref
  5. Richard Bellman. 1958. On a routing problem. Quarterly of Applied Mathematics 16, 1, 87--90.Google ScholarGoogle ScholarCross RefCross Ref
  6. Boost Graph Library 2015. The Boost Graph Library. Retrieved August 5, 2015 from http://www.boost.org.Google ScholarGoogle Scholar
  7. Gerth S. Brodal, Jesper L. Träff, and Christos D. Zaroliagis. 1998. A parallel priority queue with constant time operations. Journal of Parallel and Distributed Computing 49, 1, 4--21. DOI:http://dx.doi.org/10.1006/jpdc.1998.1425 Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Martin Burtscher, Rupesh Nasre, and Keshav Pingali. 2012. A quantitative study of irregular programs on GPUs. In Proceedings of the 2012 IEEE International Symposium onWorkload Characterization (IISWC’12). 141--151. DOI:http://dx.doi.org/10.1109/IISWC.2012.6402918 Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Boris V. Cherkassky, Andrew V. Goldberg, and Tomasz Radzik. 1996. Shortest paths algorithms: Theory and experimental evaluation. Mathematical Programming 73, 2, 129--174. DOI:http://dx.doi.org/10.1007/BF02592101 Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Yosoon Choi, Jeong-Gi Um, and Myong-Ho Park. 2014. Finding least-cost paths across a continuous raster surface with discrete vector networks. Cartography and Geographic Information Science 41, 1, 75--85. DOI:http://dx.doi.org/10.1080/15230406.2013.850837Google ScholarGoogle ScholarCross RefCross Ref
  11. Andreas Crauser, Kurt Mehlhorn, Ulrich Meyer, and Peter Sanders. 1998. A parallelization of Dijkstra’s shortest path algorithm. In Mathematical Foundations of Computer Science 1998, Luboš Brim, Jozef Gruska, and Jiří Zlatuška (Eds.). Lecture Notes in Computer Science, Vol. 1450. Springer, Berlin, 722--731. DOI:http://dx.doi.org/10.1007/BFb0055823 Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Joseph R. Crobak, Jonathan W. Berry, Kamesh Madduri, and David A. Bader. 2007. Advanced shortest paths algorithms on a massively-multithreaded architecture. In Proceedings of the 2007 Parallel and Distributed Processing Symposium (IPDPS’07). 1--8. DOI:http://dx.doi.org/10.1109/IPDPS.2007.370687Google ScholarGoogle Scholar
  13. Narsingh Deo and Chi-yin Pang. 1984. Shortest-path algorithms: Taxonomy and annotation. Networks 14, 275--323. DOI:http://dx.doi.org/10.1002/net.3230140208Google ScholarGoogle ScholarCross RefCross Ref
  14. Robert B. Dial. 1969. Algorithm 360: Shortest-path forest with topological ordering. Communications of the ACM 12, 11, 632--633. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Edsger W. Dijkstra. 1959. A note on two problems in connexion with graphs. Numerische Mathematik 1, 269--271. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. David H. Douglas. 1994. Least-cost path in GIS using an accumulated cost surface and slopelines. Cartographica 31, 3, 37--51. DOI:http://dx.doi.org/10.3138/D327-0323-2JUT-016MGoogle ScholarGoogle ScholarCross RefCross Ref
  17. James R. Driscoll, Harold N. Gabow, Ruth Shrairman, and Robert E. Tarjan. 1988. Relaxed heaps: An alternative to Fibonacci heaps with applications to parallel computation. Communications of the ACM 31, 11, 1343--1354. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Thomas R. Etherington. 2012. Least-cost modelling on irregular landscape graphs. Landscape Ecology 27, 7, 957--968. DOI:http://dx.doi.org/10.1007/s10980-012-9747-yGoogle ScholarGoogle ScholarCross RefCross Ref
  19. Jianbin Fang, Ana Lucia Varbanescu, and Henk Sips. 2011. A comprehensive performance comparison of CUDA and OpenCL. In Proceedings of the 2011 International Conference on Parallel Processing (ICPP’11). 216--225. DOI:http://dx.doi.org/10.1109/ICPP.2011.45 Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Ariel Felner. 2011. Position paper: Dijkstra’s algorithm versus uniform cost search or a case against Dijkstra’s algorithm. In Proceedings of the 4th Annual Symposium on Combinatorial Search 2011: Castell de Cardona, Barcelona, Spain.Google ScholarGoogle Scholar
  21. Lester R. Ford Jr. 1956. Network Flow Theory. Paper P-923. The RAND Corporation, Santa Monica, CA.Google ScholarGoogle Scholar
  22. Michael L. Fredman and Robert Endre Tarjan. 1987. Fibonacci heaps and their uses in improved network optimization algorithms. Journal of the ACM 34, 3, 596--615. DOI:http://dx.doi.org/10.1145/28869.28874 Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Michael L. Fredman and Dan E. Willard. 1994. Trans-dichotomous algorithms for minimum spanning trees and shortest paths. Journal of Computer and System Sciences 48, 3, 533--551. DOI:http://dx.doi.org/10.1016/S0022-0000(05)80064-9 Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Jesus Rodriguez Gonzalez, Gabriel del Barrio, and Beatriz Duguy. 2008. Assessing functional landscape connectivity for disturbance propagation on regional scales—A cost-surface model approach applied to surface fire spread. Ecological Modelling 211, 1--2, 121--141. DOI:http://dx.doi.org/10.1016/j.ecolmodel.2007.08.028Google ScholarGoogle Scholar
  25. GRASS Development Team. 2015. Geographic Resources Analysis Support System (GRASS GIS) Software. Open Source Geospatial Foundation. Retrieved August 5, 2015 from http://grass.osgeo.org.Google ScholarGoogle Scholar
  26. Pawan Harish and P. J. Narayanan. 2007. Accelerating large graph algorithms on the GPU using CUDA. In High Performance Computing (HiPC’07). Lecture Notes in Computer Science, Srinivas Aluru, Manish Parashar, Ramamurthy Badrinath, and Viktor K. Prasanna (Eds.), Vol. 4873. Springer, Berlin, 197--208. DOI:http://dx.doi.org/10.1007/978-3-540-77220-0_21 Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Pawan Harish, Vibhav Vineet, and P. J. Narayanan. 2009. Large Graph Algorithms for Massively Multithreaded Architectures. Technical Report IIIT/TR/2009/74. International Institute of Information Technology, Hyderabad, India.Google ScholarGoogle Scholar
  28. Michelle Hribar, Valerie E. Taylor, and David E. Boyce. 1996. Performance study of a parallel shortest path algorithm. In Proceedings of the ISUG 97 Conference.Google ScholarGoogle Scholar
  29. Meng Jiayuan and Kevin Skadron. 2011. A performance study for iterative stencil loops on GPUs with ghost zone optimizations. International Journal of Parallel Programming 39, 1, 115--142. DOI:http://dx.doi.org/10.1007/s10766-010-0142-5Google ScholarGoogle ScholarCross RefCross Ref
  30. Donald B. Johnson. 1973. A note on Dijkstra’s shortest path algorithm. Journal of the ACM 20, 3, 385--388. DOI:http://dx.doi.org/10.1145/321765.321768 Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Khronos Group 2014. The OpenCL Specification. Version: 2.0. Retrieved August 5, 2015 from http://www.khronos.org/opencl/.Google ScholarGoogle Scholar
  32. Kazuhiko Komatsu, Katsuto Sato, Yusuke Arai, Kentaro Koyama, Hiroyuki Takizawa, and Hiroaki Kobayashi. 2010. Evaluating performance and portability of OpenCL programs. In Proceedings of the 5th International Workshop on Automatic Performance Tuning. 15.Google ScholarGoogle Scholar
  33. Sumit Kumar, Alok Misra, and Raghvendra Singh Tomar. 2011. A modified parallel approach to single source shortest path problem for massively dense graphs using CUDA. In Proceedings of the 2nd International Conference on Computer and Communication Technology (ICCCT’11). 635--639. DOI:http://dx.doi.org/10.1109/ICCCT.2011.6075214Google ScholarGoogle ScholarCross RefCross Ref
  34. Pedro J. Martín, Roberto Torres, and Antonio Gavilanes. 2009. CUDA solutions for the SSSP problem. In Proceedings of the 9th International Conference on Computational Science (ICCS’09). Part II, Lecture Notes in Computer Science, Gabrielle Allen, Jarosław Nabrzyski, Edward Seidel, Geert Dick van Albada, Jack Dongarra, and Peter M. A. Sloot (Eds.), Vol. 5545. Springer-Verlag, Berlin, 904--913. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Ulrich Meyer and Peter Sanders. 2003. Δ-stepping: A parallelizable shortest path algorithm. Journal of Algorithms 49, 1, 114--152. DOI:http://dx.doi.org/10.1016/S0196-6774(03)00076-2 Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Joseph S. B. Mitchell and Christos H. Papadimitriou. 1991. The weighted region problem: Finding shortest paths through a weighted planar subdivision. Journal of the ACM 38, 1, 18--73. DOI:http://dx.doi.org/10.1145/102782.102784 Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Edward F. Moore. 1959. The shortest path through a maze. In Proceedings of an International Symposium on the Theory of Switching, 2--5 April 1957, Part II {The Annals of the Computation Laboratory of Harvard University Volume XXX}, H. Aiken (Ed.). Harvard University Press, Cambridge, MA, 285--292.Google ScholarGoogle Scholar
  38. NVIDIA Corporation. 2014. CUDA 6.5 Toolkit Documentation. Retrieved August 5, 2015 from http://developer.nvidia.com/cuda-toolkit-65.Google ScholarGoogle Scholar
  39. OpenACC. 2013. The OpenACCTM Application Programming Interface, Version 2.0. Retrieved August 5, 2015 from http://www.openacc-standard.org.Google ScholarGoogle Scholar
  40. Hector Ortega-Arranz, Yuri Torres, Arturo Gonzalez-Escribano, and Diego R. Llanos. 2015. Comprehensive evaluation of a new GPU-based approach to the shortest path problem. International Journal of Parallel Programming, 1--21. DOI:http://dx.doi.org/10.1007/s10766-015-0351-z Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Marios Papaefthymiou and Joseph Rodrigue. 1994. Implementing parallel shortest-paths algorithms. In DIMACS Series in Discrete Mathematics and Theoretical Computer Science. 59--68.Google ScholarGoogle Scholar
  42. Michael G. Pullinger and Chris J. Johnson. 2010. Maintaining or restoring connectivity of modified landscapes: Evaluating the least-cost path model with multiple sources of ecological information. Landscape Ecology 25, 10, 1547--1560. DOI:http://dx.doi.org/10.1007/s10980-010-9526-6Google ScholarGoogle ScholarCross RefCross Ref
  43. Terence R. Smith, Gao Peng, and Pascal Gahinet. 1989. Asynchronous, iterative, and parallel procedures for solving the weighted-region least cost path problem. Geographical Analysis 21, 2, 147--166. DOI:http://dx.doi.org/10.1111/j.1538-4632.1989.tb00885.xGoogle ScholarGoogle ScholarCross RefCross Ref
  44. Yuxin Tang, Yunquan Zhang, and Hu Chen. 2008. A parallel shortest path algorithm based on graph-partitioning and iterative correcting. In IEEE International Conference on High Performance Computing and Communication & IEEE International Conference on Embedded Software and Systems. IEEE Computer Society, Los Alamitos, CA, 155--161. DOI:http://dx.doi.org/10.1109/HPCC.2008.113 Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Mikkel Thorup. 1999. Undirected single-source shortest paths with positive integer weights in linear time. Journal of the ACM 46, 3, 362--394. DOI:http://dx.doi.org/10.1145/316542.316548 Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Dana Tomlin. 2010. Propagating radial waves of travel cost in a grid. International Journal of Geographical Information Science 24, 9, 1391--1413. DOI:http://dx.doi.org/10.1080/1365881100377915 Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Jesper Larsson Träff. 1995. An experimental comparison of two distributed single-source shortest path algorithms. Parallel Computing 21, 9, 1505--1532. DOI:http://dx.doi.org/10.1016/0167-8191(95)00025-J Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. A. Keith Turner and Robert D. Miles. 1971. The GCARS system -- A computer-assisted method of regional route location. Highway Research Record 348, 1--15.Google ScholarGoogle Scholar
  49. Joost van Bemmelen, Wilko Quak, Marcel van Hekken, and Peter van Oosterom. 1993. Vector vs. raster-based algorithms for cross country movement planning. In Proceedings of the Auto-Carto 11, Oct 30--Nov 1, Minneapolis, Minnesota, US. American Society for Photogrammetry and Remote Sensing, Bethesda, MD, 304--317.Google ScholarGoogle Scholar
  50. Peter van Emde Boas, R. Kaas, and E. Zijlstra. 1977. Design and implementation of an efficient priority queue. Mathematical Systems Theory 10, 1, 99--127. DOI:http://dx.doi.org/10.1007/BF01683268Google ScholarGoogle ScholarCross RefCross Ref
  51. Von Heinrich von Stackelberg. 1938. Das brechungsgesetz des verkehrs. Jahrbücher für Nationalökonomie and Statistik 148, 680--696.Google ScholarGoogle Scholar
  52. William Warnz. 1957. Transportation, social physics, and the law of refraction. The Professional Geographer 9, 4, 2--7.Google ScholarGoogle ScholarCross RefCross Ref
  53. Jianping Xu and Richard G. Lathrop Jr. 1995. Improving simulation accuracy of spread phenomena in a raster-based geographic information system. International Journal of Geographical Information Science 9, 2, 153--168. DOI:http://dx.doi.org/10.1080/02693799508902031Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Tilewise Accumulated Cost Surface Computation with Graphics Processing Units

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!