arrow
Return

MeshTaichi: A Compiler for Efficient Mesh-based Operations

delete2022-11-30
delete7
PRE
AI
Y
Yi Xu
Y
Ye Chow Kuang
Y
Yuanming Hu
T
Tiantian Liu
DOI:10.1145/3550454.3555430delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
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.4xto 6x, compared to state-of-the-art mesh data structures and compilers.
Keywords:
Domain-specific languages
GPU computing
Mesh
Physically-based Simulation

Journal

ACM Transactions on Graphics cover
ACM Transactions on Graphics
IF:
9.5
Papers:
4.7K
Citations:
3.6W

Organization

T
tsinghua university
Scholars:
11.8W
Papers: 10.0W
Citations: 137