Sunday 23 February 2025
The Voronoi tessellation, a fundamental concept in computer science and geometry, has been reimagined for the modern era of high-performance computing. votess, a new library developed by researchers at Grinnell College and Heidelberg University, brings parallel processing to the forefront of Voronoi mesh generation.
For those unfamiliar with the term, a Voronoi tessellation is a spatial decomposition that partitions space into convex sub-regions based on proximity to a discrete set of generating points. This technique has far-reaching applications in fields such as astrophysics, where it’s used to analyze observational data and simulate cosmic structure formation.
Traditionally, Voronoi mesh generation was limited by the sequential nature of CPU architectures. votess changes this paradigm by leveraging heterogeneous platforms, including CPUs, GPUs, and future accelerator architectures. The library achieves this through the use of SYCL, a single-source framework abstraction that allows developers to write code once and execute it on multiple devices.
The core algorithm used in votess is designed with parallelism in mind. It computes Voronoi cells cell-by-cell, producing geometry information and neighbor connectivity data. This approach simplifies the method and makes it more amenable to data-parallel architectures than alternative methods such as sequential insertion or the Bowyer-Watson algorithm.
The performance benefits of votess are striking. Compared to single-threaded alternatives like Qhull and Voro++, votess achieves significant speedups, particularly on GPUs with large datasets. The CPU implementation can outperform other libraries by a factor of 10 to 100.
One of the most impressive aspects of votess is its versatility. It supports various output formats, including natural neighbor information for each Voronoi cell. This data can be used in a variety of applications, from scientific simulations to computer-aided design.
Users can interact with votess through three interfaces: C++, command-line interface (clvotess), and Python wrapper interface (pyvotess). The C++ library offers a simple tessellate function that computes the mesh, while the Python wrapper provides native numpy array support for ease of use in Python-based workflows.
The development of votess is an important step forward in the field of computational geometry. By bringing parallel processing to Voronoi mesh generation, researchers can now tackle larger and more complex problems with greater efficiency.
Cite this article: “Votess: A Parallel Voronoi Tessellation Library for High-Performance Computing”, The Science Archive, 2025.
Voronoi Tessellation, Parallel Processing, Computational Geometry, Sycl, Gpu Acceleration, Cpu Performance, Qhull, Voro++, Scientific Simulations, Computer-Aided Design, Numpy Array Support.







