Lattice structures have been widely used in applications due to their superior mechanical properties. To fabricate such structures, a geometric processing step called triangulation is often employed to transform them into the STL format before sending them to 3D printers. Because lattice structures tend to have high geometric complexity, this step usually generates a large amount of triangles, a memory and compute-intensive task. This problem manifests itself clearly through large-scale lattice structures that have millions or billions of struts. To address this problem, this paper proposes to transform a lattice structure into an intermediate model called meta-mesh before undergoing real triangulation. Compared to triangular meshes, meta-meshes are very lightweight and much less compute-demanding. The meta-mesh can also work as a base mesh reusable for conveniently and efficiently triangulating lattice structures with arbitrary resolutions. A CPU+GPU asynchronous meta-meshing pipeline has been developed to efficiently generate meta-meshes from lattice structures. It shifts from the thread-centric GPU algorithm design paradigm commonly used in CAD to the recent warp-centric design paradigm to achieve high performance. This is achieved by a new data compression method, a GPU cache-aware data structure, and a workload-balanced scheduling method that can significantly reduce memory divergence and branch divergence. Experimenting with various billion-scale lattice structures, the proposed method is seen to be two orders of magnitude faster than previously achievable.
翻译:晶格结构因其优越的力学性能在众多领域得到广泛应用。为制造此类结构,通常需通过称为三角剖分的几何处理步骤将其转换为STL格式,再送入3D打印机。由于晶格结构往往具有较高的几何复杂性,此步骤通常会产生海量三角形,属于内存与计算密集型任务。对于包含数百万乃至数十亿杆件的大规模晶格结构,这一问题尤为突出。为解决此问题,本文提出在实施真实三角剖分前,先将晶格结构转换为名为元网格的中间模型。相较于三角网格,元网格非常轻量且计算需求显著降低。该元网格还可作为可复用的基础网格,用于便捷高效地对任意分辨率的晶格结构进行三角剖分。本文开发了CPU+GPU异步元网格生成流水线,可高效地从晶格结构生成元网格。该方法摒弃了CAD领域常用的线程中心化GPU算法设计范式,转而采用新兴的warp中心化设计范式以实现高性能。这一目标通过新型数据压缩方法、GPU缓存感知数据结构及可显著降低内存发散与分支发散的工作负载均衡调度方法实现。在多种十亿级晶格结构上的实验表明,所提方法比现有最快方法提速两个数量级。