votess is a library for computing parallel 3D Voronoi tessellations on heterogeneous platforms, from CPUs and GPUs, to future accelerator architectures. To do so, it leverages the SYCL abstraction layer to achieve portability and performance across these architectures. The core library is an implementation of a Voronoi cell-by-cell computation algorithm, producing the geometry of the cells and their neighbor connectivity information, rather than a full combinatorial mesh data structure. This simplifies the Voronoi tessellation and makes it more suitable to data parallel architectures than alternatives such as sequential insertion or the Bowyer-Watson algorithm. The library demonstrates significant performance improvements over established single-threaded programs and serves as a foundational tool for performance-critical applications, such as on-the-fly computations in hydrodynamical codes.
翻译:votess是一个用于在异构平台上计算并行三维Voronoi网格划分的库,支持从CPU、GPU到未来加速器架构。为此,它利用SYCL抽象层实现跨架构的可移植性和性能。该核心库实现了Voronoi逐单元计算算法,生成单元的几何结构及其邻接连通信息,而非完整的组合网格数据结构。这简化了Voronoi网格划分过程,使其比顺序插入法或Bowyer-Watson算法等替代方案更适合数据并行架构。该库相较于成熟的单线程程序展现出显著的性能提升,可作为性能关键应用的基础工具,例如流体动力学代码中的实时计算。