Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
125 tokens/sec
GPT-4o
53 tokens/sec
Gemini 2.5 Pro Pro
42 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
47 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

An extension to VORO++ for multithreaded computation of Voronoi cells (2209.11606v2)

Published 23 Sep 2022 in physics.comp-ph, cs.CG, cs.DC, cs.NA, math.NA, and physics.app-ph

Abstract: VORO++ is a software library written in C++ for computing the Voronoi tessellation, a technique in computational geometry that is widely used for analyzing systems of particles. VORO++ was released in 2009 and is based on computing the Voronoi cell for each particle individually. Here, we take advantage of modern computer hardware, and extend the original serial version to allow for multithreaded computation of Voronoi cells via the OpenMP application programming interface. We test the performance of the code, and demonstrate that we can achieve parallel efficiencies greater than 95% in many cases. The multithreaded extension follows standard OpenMP programming paradigms, allowing it to be incorporated into other programs. We provide an example of this using the VoroTop software library, performing a multithreaded Voronoi cell topology analysis of up to 102.4 million particles.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (81)
  1. doi:10.1145/323233.323264.
  2. doi:10.1007/BFb0035852.
  3. doi:10.1103/PhysRevE.83.041301.
  4. doi:10.1103/PhysRevE.89.042208.
  5. doi:10.1016/j.nucengdes.2013.07.010.
  6. doi:10.1039/C2SM25936B.
  7. doi:10.1039/B911140A.
  8. doi:10.1016/j.actamat.2013.08.003.
  9. doi:10.1088/0965-0393/22/6/065007.
  10. doi:10.1209/0295-5075/112/66003.
  11. doi:10.1209/0295-5075/105/48004.
  12. doi:10.1021/acs.jpclett.8b02715.
  13. doi:10.1103/PhysRevE.99.052603.
  14. doi:10.1016/j.commatsci.2012.08.006.
  15. doi:10.1016/j.msea.2015.08.085.
  16. doi:10.1016/j.cma.2017.10.005.
  17. doi:10.1016/0377-0273(94)90092-2.
  18. doi:10.1088/1757-899x/529/1/012031.
  19. doi:0.1088/0022-3727/47/47/472001.
  20. doi:10.1016/j.jcp.2015.06.026.
  21. doi:10.1016/j.jcp.2010.03.011.
  22. doi:10.1007/s10236-008-0157-2.
  23. doi:10.1016/j.cageo.2014.05.002.
  24. doi:10.1016/j.compgeo.2016.04.008.
  25. doi:10.1051/0004-6361/201322281.
  26. doi:10.1109/LRA.2021.3057568.
  27. doi:10.1016/j.jqsrt.2015.10.025.
  28. doi:10.1137/070710123.
  29. doi:10.1119/5.0087591.
  30. doi:10.1145/235815.235821.
  31. http://www.qhull.org/.
  32. https://www.cgal.org.
  33. doi:10.1007/BFb0014497.
  34. https://www.cs.cmu.edu/~quake/triangle.html.
  35. doi:10.1063/1.3215722.
  36. http://math.lbl.gov/voro++/.
  37. doi:10.1103/PhysRevE.74.021306.
  38. doi:10.1016/j.powtec.2010.01.009.
  39. doi:10.1006/jcph.1995.1039.
  40. https://www.lammps.org.
  41. doi:10.1088/0965-0393/18/1/015012.
  42. https://www.ovito.org/.
  43. doi:10.1145/10515.10549.
  44. doi:10.1007/BF01840357.
  45. doi:10.1093/comjnl/21.2.168.
  46. doi:10.1007/BF00977785.
  47. doi:10.1073/pnas.95.15.8431.
  48. doi:10.1023/A:1011234012449.
  49. doi:10.1111/j.1538-4632.1973.tb01003.x.
  50. doi:10.1145/355921.355927.
  51. doi:10.1016/0098-3004(83)90006-7.
  52. doi:10.2307/3213616.
  53. doi:10.1073/pnas.1505788112.
  54. doi:10.1109/TIT.1982.1056489.
  55. doi:10.1137/S0036144599352836.
  56. doi:10.1103/PhysRevLett.109.095505.
  57. doi:10.1103/PhysRevE.88.063309.
  58. doi:10.1088/1742-5468/2016/04/043103.
  59. doi:10.1088/1742-5468/abb6e3.
  60. doi:10.1088/1361-651x/aa9a01.
  61. https://www.vorotop.org.
  62. doi:10.1137/0114062.
  63. doi:10.1063/5.0014475.
  64. doi:10.1177/10943420211008288.
  65. doi:10.1016/j.micromeso.2011.08.020.
  66. doi:10.1016/j.jmgm.2013.05.007.
  67. doi:10.1039/C3CE41057A.
  68. doi:10.1080/14686996.2018.1439253.
  69. doi:10.1016/j.cpc.2014.08.020.
  70. doi:10.1016/j.ascom.2016.06.003.
  71. doi:10.1109/99.660313.
  72. https://www.openmp.org.
  73. http://www.cplusplus.com/reference/iterator/RandomAccessIterator.
  74. https://cplusplus.com/reference/iterator/ForwardIterator/.
  75. doi:10.1088/0959-5309/43/5/301.
  76. doi:10.1016/j.cpc.2016.11.005.
  77. doi:10.1088/0965-0393/20/4/045021.
  78. doi:10.1145/361002.361007.
  79. doi:10.1007/BF00288933.
  80. doi:10.1007/s10915-006-9122-8.
  81. doi:10.1007/s10915-012-9619-2.
Citations (10)

Summary

We haven't generated a summary for this paper yet.