Affiliation:
1. University of Electronic Science and Technology of China and Taichi Graphics, China
2. Tsinghua University and Taichi Graphics, China
3. Taichi Graphics, China
Abstract
Meshes are an indispensable representation in many graphics applications because they provide conformal spatial discretizations. However, mesh-based operations are often slow due to unstructured memory access patterns. We propose MeshTaichi, a novel mesh compiler that provides an intuitive programming model for efficient mesh-based operations. Our programming model hides the complex indexing system from users and allows users to write mesh-based operations using reference-style neighborhood queries. Our compiler achieves its high performance by exploiting data locality. We partition input meshes and prepare the wanted relations by inspecting users' code during compile time. During run time, we further utilize on-chip memory (shared memory on GPU and L1 cache on CPU) to access the wanted attributes of mesh elements efficiently. Our compiler decouples low-level optimization options with computations, so that users can explore different localized data attributes and different memory orderings without changing their computation code. As a result, users can write concise code using our programming model to generate efficient mesh-based computations on both CPU and GPU backends. We test MeshTaichi on a variety of physically-based simulation and geometry processing applications with both triangle and tetrahedron meshes. MeshTaichi achieves a consistent speedup ranging from 1.4× to 6×, compared to state-of-the-art mesh data structures and compilers.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design
Reference45 articles.
1. Large steps in cloth simulation
2. Perspectives: Why New Programming Languages for Simulation;Bernstein Gilbert Louis;ACM Transactions on Graphics (TOG),2016
3. Ebb
4. A morphable model for the synthesis of 3D faces
5. Mario Botsch Stephan Steinberg Stephan Bischoff and Leif Kobbelt. 2002. Openmesh-a generic and efficient polygon mesh data structure. (2002). Mario Botsch Stephan Steinberg Stephan Bischoff and Leif Kobbelt. 2002. Openmesh-a generic and efficient polygon mesh data structure. (2002).
Cited by
3 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献