论文标题
Voronoi单元的多线程计算的Voro ++的扩展
An extension to VORO++ for multithreaded computation of Voronoi cells
论文作者
论文摘要
Voro ++是用C ++编写的软件库,用于计算Voronoi Tessellation,这是一种计算几何技术中的技术,可广泛用于分析粒子系统。 Voro ++于2009年发布,基于分别计算每个粒子的Voronoi单元。在这里,我们利用现代计算机硬件,并扩展原始串行版本,以通过OpenMP应用程序编程接口对Voronoi单元进行多线程计算。我们测试了代码的性能,并证明我们可以在许多情况下达到超过95%的并行效率。多线程扩展名遵循标准的OpenMP编程范例,使其可以将其合并到其他程序中。我们使用Vorotop软件库提供了一个示例,并对多达1.024亿个颗粒进行了多线程Voronoi细胞拓扑分析。
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.