Spiral Search Method to GPU Parallel Euclidean Minimum Spanning Tree Problem

  • Wen-Bao QiaoEmail author
  • Jean-Charles Créput
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11353)


We present both sequential and data parallel approaches to build hierarchical minimum spanning forest (MSF) or trees (MST) in Euclidean space (EMSF/EMST) for applications whose input N points are uniformly or boundedly distributed in the Euclidean space. The sequential approach takes O(N) time complexity through combining Bor\(\mathring{\mathrm {u}}\)vka’s algorithm with an improved component-based neighborhood search algorithm, namely sliced spiral search, which is a newly proposed improvement of Bentley’s spiral search for finding a component graph’s closest outgoing point on 2D plane. We also propose a k-d search technique to extend this kind of search into 3D space. The data parallel approach includes a newly proposed two direction breadth-first search (BFS) implementation on graphics processing unit (GPU), which is aimed for selecting a spanning tree’s shortest outgoing edge. The GPU parallel approaches assign N threads with one thread associated to one input point, one thread occupies O(1) local memory and the whole algorithm occupies O(N) global memory. Experiments are conducted on point set of both uniformly distributed data sets and TSPLIB database. We evaluate computation time of the proposed approaches on more than 40 benchmarks with size N growing up to \(10^5\) points.


Parallel Euclidean minimum spanning tree Spiral search Sliced spiral search Minimum spanning forest GPU data clustering 


  1. 1.
    Prim, R.C.: Shortest connection networks and some generalizations. Bell Syst. Tech. J. 36(6), 1389–1401 (1957)CrossRefGoogle Scholar
  2. 2.
    Kruskal, J.B.: On the shortest spanning subtree of a graph and the traveling salesman problem. Proc. Am. Math. Soc. 7(1), 48–50 (1956)MathSciNetCrossRefGoogle Scholar
  3. 3.
    Boruvka, O.: O jistém problému minimálním (1926)Google Scholar
  4. 4.
    Bader, D.A., Cong, G.: Fast shared-memory algorithms for computing the minimum spanning forest of sparse graphs. In: Proceedings of 18th International Parallel and Distributed Processing Symposium, p. 39. IEEE (2004)Google Scholar
  5. 5.
    Harish, P., Vineet, V., Narayanan, P.: Large graph algorithms for massively multithreaded architectures. Technical report, International Institute of Information Technology Hyderabad, IIIT/TR/2009/74 (2009)Google Scholar
  6. 6.
    Vineet, V., Harish, P., Patidar, S., Narayanan, P.: Fast minimum spanning tree for large graphs on the GPU. In: Proceedings of the Conference on High Performance Graphics, pp. 167–171. ACM, New York (2009)Google Scholar
  7. 7.
    Wang, W., Huang, Y., Guo, S.: Design and implementation of GPU-based prim’s algorithm. Int. J. Mod. Educ. Comput. Sci. 3(4), 55 (2011)CrossRefGoogle Scholar
  8. 8.
    Ramaswamy, S.I., Patki, R.: Distributed minimum spanning trees (2015)Google Scholar
  9. 9.
    Lingas, A.: A linear-time construction of the relative neighborhood graph from the delaunay triangulation. Comput. Geom. 4(4), 199–208 (1994)MathSciNetCrossRefGoogle Scholar
  10. 10.
    Shamos, M.I., Hoey, D.: Closest-point problems. In: 16th Annual Symposium on Foundations of Computer Science, pp. 151–162. IEEE (1975)Google Scholar
  11. 11.
    March, W.B., Ram, P., Gray, A.G.: Fast euclidean minimum spanning tree: algorithm, analysis, and applications. In: Proceedings of the 16th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pp. 603–612(2010)Google Scholar
  12. 12.
    Bentley, J.L.: Multidimensional binary search trees used for associative searching. Commun. ACM 18(9), 509–517 (1975)CrossRefGoogle Scholar
  13. 13.
    Rivest, R.L.: On the optimality of elia’s algorithm for performing best-match searches. In: IFIP Congress, pp. 678–681 (1974)Google Scholar
  14. 14.
    Cleary, J.G.: Analysis of an algorithm for finding nearest neighbors in euclidean space. ACM Trans. Math. Softw. (TOMS) 5(2), 183–192 (1979)MathSciNetCrossRefGoogle Scholar
  15. 15.
    Zhou, K., Hou, Q., Wang, R., Guo, B.: Real-time kd-tree construction on graphics hardware. ACM Trans. Graph. (TOG) 27(5), 126 (2008)CrossRefGoogle Scholar
  16. 16.
    Qiu, D., May, S., Nüchter, A.: GPU-accelerated nearest neighbor search for 3D registration. In: Fritz, M., Schiele, B., Piater, J.H. (eds.) ICVS 2009. LNCS, vol. 5815, pp. 194–203. Springer, Heidelberg (2009). Scholar
  17. 17.
    Hu, L., Nooshabadi, S.: Massive parallelization of approximate nearest neighbor search on kd-tree for high-dimensional image descriptor matching. J. Vis. Commun. Image Represent. 44, 106–115 (2017)CrossRefGoogle Scholar
  18. 18.
    Bentley, J.L., Weide, B.W., Yao, A.C.: Optimal expected-time algorithms for closest point problems. ACM Trans. Math. Softw. (TOMS) 6(4), 563–580 (1980)MathSciNetCrossRefGoogle Scholar
  19. 19.
    Nvidia, C.: Programming guide (2010)Google Scholar
  20. 20.
    Robins, G., Salowe, J.S.: On the maximum degree of minimum spanning trees. In: Proceedings of the Tenth Annual Symposium on Computational Geometry, pp. 250–258. ACM, New York (1994)Google Scholar
  21. 21.
    Rajasekaran, S.: On the euclidean minimum spanning tree problem. Comput. Lett. 1(1), 11–14 (2004)CrossRefGoogle Scholar
  22. 22.
    Galler, B.A., Fisher, M.J.: An improved equivalence algorithm. Commun. ACM 7(5), 301–303 (1964)CrossRefGoogle Scholar
  23. 23.
    Reinelt, G.: Tsplib–a traveling salesman problem library. ORSA J. Comput. 3(4), 376–384 (1991)CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Le2i, CNRS, Arts et MétiersUniversity Bourgogne Franche-ComtéBesançonFrance

Personalised recommendations