“Meshless voronoi on the GPU” – ACM SIGGRAPH HISTORY ARCHIVES

“Meshless voronoi on the GPU”

  • 2018 SA Technical Papers_Ray_Meshless voronoi on the GPU

Conference:


Type(s):


Title:

    Meshless voronoi on the GPU

Session/Category Title:   Meshing


Presenter(s)/Author(s):


Moderator(s):



Abstract:


    We propose a GPU algorithm that computes a 3D Voronoi diagram. Our algorithm is tailored for applications that solely make use of the geometry of the Voronoi cells, such as Lloyd’s relaxation used in meshing, or some numerical schemes used in fluid simulations and astrophysics. Since these applications only require the geometry of the Voronoi cells, they do not need the combinatorial mesh data structure computed by the classical algorithms (Bowyer-Watson). Thus, by exploiting the specific spatial distribution of the point-sets used in this type of applications, our algorithm computes each cell independently, in parallel, based on its nearest neighbors. In addition, we show how to compute integrals over the Voronoi cells by decomposing them on the fly into tetrahedra, without needing to compute any global combinatorial information. The advantages of our algorithm is that it is fast, very simple to implement, has constant memory usage per thread and does not need any synchronization primitive. These specificities make it particularly efficient on the GPU: it gains one order of magnitude as compared to the fastest state-of-the-art multi-core CPU implementations. To ease the reproducibility of our results, the full documented source code is included in the supplemental material.

References:


    1. Mridul Aanjaneya, Ming Gao, Haixiang Liu, Christopher Batty, and Eftychios Sifakis. 2017. Power diagrams and sparse paged grids for high resolution adaptive liquids. ACM Trans. Graph. 36, 4 (2017), 140:1–140:12. Google ScholarDigital Library
    2. Shostko Alexander and Löhner Rainald. 1995. Three-dimensional parallel unstructured grid generation. Internat. J. Numer. Methods Engrg. 38, 6 (1995), 905–925.Google ScholarCross Ref
    3. Nina Amenta, Sunghee Choi, Tamal K. Dey, and N. Leekha. 2002. A Simple Algorithm for Homeomorphic Surface Reconstruction. Int. J. Comput. Geometry Appl. 12, 1–2 (2002), 125–141.Google ScholarCross Ref
    4. Nina Amenta, Sunghee Choi, and Günter Rote. 2003. Incremental constructions con BRIO. In Proceedings of the 19th ACM Symposium on Computational Geometry, San Diego, CA, USA, June 8–10, 2003. 211–219. Google ScholarDigital Library
    5. Ricardo J. Barrientos, Fabricio Millaguir, José L. Sánchez, and Enrique Arias. 2017. GPU-based Exhaustive Algorithms Processing kNN Queries. J. Supercomput. 73, 10 (Oct. 2017), 4611–4634. Google ScholarDigital Library
    6. Vincente H.F. Batista, David L. Millman, Sylvain Pion, and Johannes Singler. 2010. Parallel geometric algorithms for multi-core computers. Internat. J. Numer. Methods Engrg. 43, 8 (2010), 663–677. Google ScholarDigital Library
    7. Dobrina Boltcheva and Bruno Lévy. 2017. Surface reconstruction by computing restricted Voronoi cells in parallel. Computer-Aided Design 90 (2017), 123–134.Google ScholarDigital Library
    8. Adrian Bowyer. 1981. Computing Dirichlet Tessellations. Comput. J. 24, 2 (1981), 162–166.Google ScholarCross Ref
    9. Y. Brenier, U. Frisch, M. Henon, G. Loeper, S. Matarrese, R. Mohayaee, and A. Sobolevskii. 2003. Reconstruction of the early Universe as a convex optimization problem. arXiv (September 2003). https://arxiv.org/abs/astro-ph/0304214 arXiv:astro-ph/0304214v3.Google Scholar
    10. Tyson Brochu, Christopher Batty, and Robert Bridson. 2010. Matching fluid simulation elements to surface geometry and topology. ACM Trans. Graph. 29, 4 (2010), 47:1–47:9. Google ScholarDigital Library
    11. Thanh-Tung Cao. 2014. Fundamental Computational Geometry on the GPU.Google Scholar
    12. Thanh-Tung Cao, Ashwin Nanjappa, Mingcen Gao, and Tiow Seng Tan. 2014. A GPU accelerated algorithm for 3D Delaunay triangulation. In Symposium on Interactive 3D Graphics and Games, I3D ’14, San Francisco, CA, USA – March 14–16, 2014. 47–54. Google ScholarDigital Library
    13. Nicolas Cuntz and Andreas Kolb. 2007. Fast Hierarchical 3D Distance Transforms on the GPU. In EG Short Papers, Paolo Cignoni and Jiri Sochor (Eds.). The Eurographics Association.Google Scholar
    14. H. L. De Cougny and M. S Shephard. 1999. Parallel refinement and coarsening of tetrahedral meshes. Internat. J. Numer. Methods Engrg. 46, 7 (1999), 1101–1125.Google ScholarCross Ref
    15. Fernando de Goes, Corentin Wallez, Jin Huang, Dmitry Pavlov, and Mathieu Desbrun. 2015. Power particles: an incompressible fluid solver based on power diagrams. ACM Trans. Graph. 34, 4 (2015), 50:1–50:11. Google ScholarDigital Library
    16. Christophe Delage and Olivier Devillers. 2018. Spatial Sorting. In CGAL User and Reference Manual (4.12.1 ed.). CGAL Editorial Board. https://doc.cgal.org/4.12.1/Manual/packages.html#PkgSpatialSortingSummaryGoogle Scholar
    17. Qiang Du, Vance Faber, and Max Gunzburger. 1999. Centroidal Voronoi Tessellations: Applications and Algorithms. SIAM Rev. 41, 4 (Dec. 1999), 637–676. Google ScholarDigital Library
    18. Herbert Edelsbrunner and Ernst P. Mücke. 1994. Simulation of simplicity: a technique to cope with degenerate cases in geometric algorithms. CoRR abs/math/9410209 (1994). arXiv:math/9410209 http://arxiv.org/abs/math/9410209Google Scholar
    19. Yun Fei, Guodong Rong, Bin Wang, and Wenping Wang. 2014. Parallel L-BFGS-B algorithm on GPU. Computers & Graphics 40 (2014), 1 — 9. Google ScholarDigital Library
    20. Ian Fischer and Craig Gotsman. 2006. Fast Approximation of High-Order Voronoi Diagrams and Distance Transforms on the GPU. J. Graphics Tools 11 (2006), 39–60.Google ScholarCross Ref
    21. Thomas O. Gallouët and Quentin Mérigot. 2017. A Lagrangian Scheme à la Brenier for the Incompressible Euler Equations. Foundations of Computational Mathematics (23 May 2017).Google Scholar
    22. V. Garcia, E. Debreuve, and M. Barlaud. 2008. Fast k nearest neighbor search using GPU. In 2008 IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops. 1–6.Google Scholar
    23. V. Garcia, E. Debreuve, F. Nielsen, and M. Barlaud. 2010. K-nearest neighbor search: Fast GPU-based implementations and application to high-dimensional feature matching. In 2010 IEEE International Conference on Image Processing. 3757–3760.Google Scholar
    24. R.E. González. 2016. PARAVT: Parallel Voronoi tessellation code. Astronomy and Computing 17 (2016), 80 — 85.Google ScholarCross Ref
    25. RC Hoetzlein. 2014. Fast fixed-radius nearest neighbors: interactive million-particle fluids. In GPU Technology Conference. 18.Google Scholar
    26. Kenneth E. Hoff, III, John Keyser, Ming Lin, Dinesh Manocha, and Tim Culver. 1999. Fast Computation of Generalized Voronoi Diagrams Using Graphics Hardware. In Proceedings of the 26th Annual Conference on Computer Graphics and Interactive Techniques (SIGGRAPH ’99). ACM Press/Addison-Wesley Publishing Co., New York, NY, USA, 277–286. Google ScholarDigital Library
    27. project ALICE-GRAPHYS Inria. 2018. Geogram: a programming library of geometric algorithms. http://alice.loria.fr/software/geogram/doc/html/index.html.Google Scholar
    28. Bruno Lévy. 2016. Robustness and efficiency of geometric programs: The Predicate Construction Kit (PCK). Computer-Aided Design 72 (2016), 3–12. Google ScholarDigital Library
    29. Bruno Lévy and Nicolas Bonneel. 2013. Variational Anisotropic Surface Meshing with Voronoi Parallel Linear Enumeration. In Proceedings of the 21st International Meshing Roundtable, Xiangmin Jiao and Jean-Christophe Weill (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 349–366.Google ScholarCross Ref
    30. Bruno Lévy and Yang Liu. 2010. Lp Centroidal Voronoi Tessellation and its applications. ACM Trans. Graph. 29, 4 (2010), 119:1–119:11. Google ScholarDigital Library
    31. Shengren Li and Nina Amenta. 2015. Brute-Force k-Nearest Neighbors Search on the GPU. In Proceedings of the 8th International Conference on Similarity Search and Applications – Volume 9371 (SISAP 2015). Springer-Verlag, Berlin, Heidelberg, 259–270. Google ScholarDigital Library
    32. Yang Liu, Wenping Wang, Bruno Lévy, Feng Sun, Dong-Ming Yan, Lin Lu, and Chenglei Yang. 2009. On centroidal voronoi tessellation – energy smoothness and fast computation. ACM Trans. Graph. 28, 4 (2009), 101:1–101:17. Google ScholarDigital Library
    33. Stuart P. Lloyd. 1982. Least squares quantization in pcm. IEEE Transactions on Information Theory 28 (1982), 129–137. Google ScholarDigital Library
    34. Celestin Marot, Jeanne Pellerin, and Jean-Francois Remacle. 2018. One Machine, One minute, Three billion tetrahedra. https://arxiv.org/abs/1805.08831.Google Scholar
    35. Guillaume Melquiond and Sylvain Pion. 2007. Formally certified floating-point filters for homogeneous geometric predicates. ITA 41, 1 (2007), 57–69.Google Scholar
    36. Chrisochoides Nikos and Nave Damian. 2003. Parallel Delaunay mesh generation kernel. Internat. J. Numer. Methods Engrg. 58, 2 (2003), 161–176.Google ScholarCross Ref
    37. Tom Peterka, Dmitriy Morozov, and Carolyn Phillips. 2014. High-Performance Computation of Distributed-Memory Parallel 3D Voronoi and Delaunay Tessellation. In Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis (SC). 997–1007. Google ScholarDigital Library
    38. Jean-François Remacle. 2017. A two-level multithreaded Delaunay kernel. Computer-Aided Design 85 (2017), 2–9. Google ScholarDigital Library
    39. G. Rong, Y. Liu, W. Wang, X. Yin, D. Gu, and X. Guo. 2011. GPU-Assisted Computation of Centroidal Voronoi Tessellation. IEEE Transactions on Visualization and Computer Graphics 17, 3 (March 2011), 345–356. Google ScholarDigital Library
    40. Guodong Rong and Tiow-Seng Tan. 2006. Jump Flooding in GPU with Applications to Voronoi Diagram and Distance Transform. In Proceedings of the 2006 Symposium on Interactive 3D Graphics and Games (I3D ’06). ACM, New York, NY, USA, 109–116. Google ScholarDigital Library
    41. Chris Rycroft. 2009. Voro++: A Three-Dimensional Voronoi Cell Library in C++. 19 (12 2009), 041111.Google ScholarCross Ref
    42. Jens Schneider, Martin Kraus, and Rüdiger Westermann. 2010. GPU-Based Euclidean Distance Transforms and Their Application to Volume Rendering. In Computer Vision, Imaging and Computer Graphics. Theory and Applications, AlpeshKumar Ranchordas, João Madeiras Pereira, Hélder J. Araújo, and João Manuel R. S. Tavares (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 215–228.Google Scholar
    43. Jonathan Richard Shewchuk. 1996. Robust Adaptive Floating-Point Geometric Predicates. In Proceedings of the Twelfth Annual Symposium on Computational Geometry, Philadelphia, PA, USA, May 24–26, 1996. 141–150. Google ScholarDigital Library
    44. C. Sigg, R. Peikert, and M. Gross. 2003. Signed distance transform using graphics hardware. In IEEE Visualization, 2003. VIS 2003. 83–90. Google ScholarDigital Library
    45. Funshing Sin, Adam W. Bargteil, and Jessica K. Hodgins. 2009. A Point-based Method for Animating Incompressible Flow. In Proceedings of the 2009 ACM SIGGRAPH/Eurographics Symposium on Computer Animation (SCA ’09). ACM, New York, NY, USA, 247–255. Google ScholarDigital Library
    46. Volker Springel. 2011. Moving-mesh hydrodynamics with the AREPO code. Computational Star Formation (2011).Google Scholar
    47. Avneesh Sud, Naga Govindaraju, Russell Gayle, and Dinesh Manocha. 2006. Interactive 3D Distance Field Computation Using Linear Factorization. In Proceedings of the 2006 Symposium on Interactive 3D Graphics and Games (I3D ’06). ACM, New York, NY, USA, 117–124. Google ScholarDigital Library
    48. Avneesh Sud, Naga Govindaraju, and Dinesh Manocha. 2005. Interactive computation of discrete generalized voronoi diagrams using range culling. In In Proceedings of the international symposium on Voronoi diagrams in science and engineering.Google Scholar
    49. Avneesh Sud, Miguel A. Otaduy, and Dinesh Manocha. 2004. DiFi: Fast 3D Distance Field Computation Using Graphics Hardware. Computer Graphics Forum 23, 3 (2004), 557–566.Google ScholarCross Ref
    50. The CGAL Project. 2018. CGAL User and Reference Manual (4.12.1 ed.). CGAL Editorial Board. https://doc.cgal.org/4.12.1/Manual/packages.htmlGoogle Scholar
    51. David Watson. 1981. Computing the n-dimensional Delaunay tessellation with application to Voronoi polytopes. Comput. J. 24, 2 (1981), 167–172.Google ScholarCross Ref
    52. Simon D. M. White and Volker Springel. 1999. Fitting the universe on a supercomputer. Computing in Science and Engineering 1, 2 (1999), 36–45. Google ScholarDigital Library


ACM Digital Library Publication:



Overview Page:



Submit a story:

If you would like to submit a story about this presentation, please contact us: historyarchives@siggraph.org