skip to main content
research-article

Concurrent Binary Trees (with application to longest edge bisection)

Published:26 August 2020Publication History
Skip Abstract Section

Abstract

We introduce the concurrent binary tree (CBT), a novel concurrent representation to build and update arbitrary binary trees in parallel. Fundamentally, our representation consists of a binary heap, i.e., a 1D array, that explicitly stores the sum-reduction tree of a bitfield. In this bitfield, each one-valued bit represents a leaf node of the binary tree encoded by the CBT, which we locate algorithmically using a binary-search over the sum-reduction. We show that this construction allows to dispatch down to one thread per leaf node and that, in turn, these threads can safely split and/or remove nodes concurrently via simple bitwise operations over the bitfield. The practical benefit of CBTs lies in their ability to accelerate binary-tree-based algorithms with parallel processors. To support this claim, we leverage our representation to accelerate a longest-edge-bisection-based algorithm that computes and renders adaptive geometry for large-scale terrains entirely on the GPU. For this specific algorithm, the CBT accelerates processing speed linearly with the number of processors.

Skip Supplemental Material Section

Supplemental Material

3406186.mp4

Presentation Video

References

  1. Ryoichi Ando, Nils Thürey, and Chris Wojtan. 2013. Highly Adaptive Liquid Simulations on Tetrahedral Meshes. ACM Trans. Graph. 32, 4, Article 103 (July 2013), 10 pages. https://doi.org/10.1145/2461912.2461982Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Ciprian Apetrei. 2014. Fast and Simple Agglomerative LBVH Construction. In Computer Graphics and Visual Computing (CGVC), Rita Borgo and Wen Tang (Eds.). The Eurographics Association. https://doi.org/10.2312/cgvc.20141206Google ScholarGoogle Scholar
  3. F. Betul Atalay and David M. Mount. 2007. Pointerless Implementation of Hierarchical Simplicial Meshes and Efficient Neighbor Finding in Arbitrary Dimensions. International Journal of Computational Geometry & Applications 17, 06 (2007), 595--631. https://doi.org/10.1142/S0218195907002495 arXiv:https://doi.org/10.1142/S0218195907002495Google ScholarGoogle ScholarCross RefCross Ref
  4. Eric Bruneton and Fabrice Neyret. 2008. Precomputed Atmospheric Scattering. Computer Graphics Forum 27, 4 (2008), 1079--1086. https://doi.org/10.1111/j. 1467--8659.2008.01245.x arXiv:https://onlinelibrary.wiley.com/doi/pdf/10.1111/j. 1467--8659.2008.01245.xGoogle ScholarGoogle ScholarCross RefCross Ref
  5. M. Duchaineau, M. Wolinsky, D. E. Sigeti, M. C. Miller, C. Aldrich, and M. B. Mineev-Weinstein. 1997. ROAMing terrain: Real-time Optimally Adapting Meshes. In Proceedings. Visualization '97 (Cat. No. 97CB36155). 81--88. https://doi.org/10.1109/VISUAL.1997.663860Google ScholarGoogle ScholarCross RefCross Ref
  6. W. Evans, D. Kirkpatrick, and G. Townsend. 2001. Right-Triangulated Irregular Networks. Algorithmica 30, 2 (June 2001), 264--286. https://doi.org/10.1007/s00453-001-0006-xGoogle ScholarGoogle ScholarDigital LibraryDigital Library
  7. Kirill Garanzha, Jacopo Pantaleoni, and David McAllister. 2011. Simpler and Faster HLBVH with Work Queues. In Proceedings of the ACM SIGGRAPH Symposium on High Performance Graphics (Vancouver, British Columbia, Canada) (HPG '11). Association for Computing Machinery, New York, NY, USA, 59--64. https://doi.org/10.1145/2018323.2018333Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Mark Harris et al. 2007. Optimizing parallel reduction in CUDA. Nvidia developer technology 2, 4 (2007), 70.Google ScholarGoogle Scholar
  9. D.J. Hebert. 1994. Symbolic Local Refinement of Tetrahedral Grids. Journal of Symbolic Computation 17, 5 (1994), 457 - 472. https://doi.org/10.1006/jsco.1994.1029Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Tero Karras. 2012. Maximizing Parallelism in the Construction of BVHs, Octrees, and k-d Trees. In Eurographics/ACM SIGGRAPH Symposium on High Performance Graphics, Carsten Dachsbacher, Jacob Munkberg, and Jacopo Pantaleoni (Eds.). The Eurographics Association. https://doi.org/10.2312/EGGH/HPG12/033-037Google ScholarGoogle Scholar
  11. Brano Kemen. 2009. Procedural terrain algorithm visualization. https://outerra.blogspot.com/2009/02/procedural-terrain-algorithm.htmlGoogle ScholarGoogle Scholar
  12. Peter Lindstrom, David Koller, William Ribarsky, Larry F. Hodges, Nick Faust, and Gregory A. Turner. 1996. Real-Time, Continuous Level of Detail Rendering of Height Fields (SIGGRAPH '96). Association for Computing Machinery, New York, NY, USA, 109--118. https://doi.org/10.1145/237170.237217Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. P. Lindstrom and V. Pascucci. 2002. Terrain simplification simplified: a general framework for view-dependent out-of-core visualization. IEEE Transactions on Visualization and Computer Graphics 8, 3 (July 2002), 239--254. https://doi.org/10.1109/TVCG.2002.1021577Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Joseph M. Maubach. 1995. Local Bisection Refinement for N-Simplicial Grids Generated by Reflection. SIAM Journal on Scientific Computing 16, 1 (1995), 210--227. https://doi.org/10.1137/0916014Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Can Özturan. 1996. Worst Case Complexity of Parallel Triangular Mesh Refinement by Longest Edge Bisection. Technical Report. Institute for Computer Applications in Science and Engineering.Google ScholarGoogle Scholar
  16. M. Cecilia Rivara. 1984. Algorithms for refining triangular grids suitable for adaptive and multigrid techniques. Internat. J. Numer. Methods Engrg. 20, 4 (1984), 745--756. https://doi.org/10.1002/nme.1620200412 arXiv:https://onlinelibrary.wiley.com/doi/pdf/10.1002/nme.1620200412Google ScholarGoogle ScholarCross RefCross Ref
  17. Luiz Velho. 2000. Semi-Regular 4-8 Refinement and Box Spline Surfaces. In Proceedings of the 13th Brazilian Symposium on Computer Graphics and Image Processing (SIBGRAPI '00). IEEE Computer Society, USA, 131--138.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Luiz Velho and Denis Zorin. 2001. 4--8 Subdivision. Computer Aided Geometric Design 18, 5 (2001), 397--427. https://doi.org/10.1016/S0167-8396(01)00039-5 Subdivision Algorithms.Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. K. Weiss and L. De Floriani. 2011. Simplex and Diamond Hierarchies: Models and Applications. 2127--2155 pages. https://doi.org/10.1111/j. 1467-8659.2011.01853.x arXiv:https://onlinelibrary.wiley.com/doi/pdf/10.1111/j.1467-8659.2011.01853.xGoogle ScholarGoogle Scholar
  20. M. Adil Yalcin, Kenneth Weiss, and Leila De Floriani. 2011. GPU Algorithms for Diamond-based Multiresolution Terrain Processing. In Eurographics Symposium on Parallel Graphics and Visualization, Torsten Kuhlen, Renato Pajarola, and Kun Zhou (Eds.). The Eurographics Association. https://doi.org/10.2312/EGPGV/EGPGV11/121-130Google ScholarGoogle Scholar

Index Terms

  1. Concurrent Binary Trees (with application to longest edge bisection)

      Recommendations

      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

      • Article Metrics

        • Downloads (Last 12 months)39
        • Downloads (Last 6 weeks)1

        Other Metrics

      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!