{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,9]],"date-time":"2026-06-09T08:44:14Z","timestamp":1780994654905,"version":"3.54.1"},"reference-count":45,"publisher":"Association for Computing Machinery (ACM)","issue":"6","license":[{"start":{"date-parts":[[2022,11,30]],"date-time":"2022-11-30T00:00:00Z","timestamp":1669766400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Graph."],"published-print":{"date-parts":[[2022,12]]},"abstract":"<jats:p>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\u00d7 to 6\u00d7, compared to state-of-the-art mesh data structures and compilers.<\/jats:p>","DOI":"10.1145\/3550454.3555430","type":"journal-article","created":{"date-parts":[[2022,11,30]],"date-time":"2022-11-30T21:19:07Z","timestamp":1669843147000},"page":"1-17","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":12,"title":["MeshTaichi"],"prefix":"10.1145","volume":"41","author":[{"given":"Chang","family":"Yu","sequence":"first","affiliation":[{"name":"University of Electronic Science and Technology of China and Taichi Graphics, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Yi","family":"Xu","sequence":"additional","affiliation":[{"name":"Tsinghua University and Taichi Graphics, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Ye","family":"Kuang","sequence":"additional","affiliation":[{"name":"Taichi Graphics, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Yuanming","family":"Hu","sequence":"additional","affiliation":[{"name":"Taichi Graphics, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Tiantian","family":"Liu","sequence":"additional","affiliation":[{"name":"Taichi Graphics, China"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2022,11,30]]},"reference":[{"key":"e_1_2_2_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/280814.280821"},{"key":"e_1_2_2_3_1","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/2930661","article-title":"Perspectives: Why New Programming Languages for Simulation","volume":"35","author":"Bernstein Gilbert Louis","year":"2016","unstructured":"Gilbert Louis Bernstein and Fredrik Kjolstad. 2016. Perspectives: Why New Programming Languages for Simulation? ACM Transactions on Graphics (TOG) 35, 2 (2016), 1--3.","journal-title":"ACM Transactions on Graphics (TOG)"},{"key":"e_1_2_2_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/2892632"},{"key":"e_1_2_2_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/311535.311556"},{"key":"e_1_2_2_6_1","unstructured":"Mario Botsch Stephan Steinberg Stephan Bischoff and Leif Kobbelt. 2002. Openmesh-a generic and efficient polygon mesh data structure. (2002)."},{"key":"e_1_2_2_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/2601097.2601116"},{"key":"e_1_2_2_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/ISCA52012.2021.00041"},{"key":"e_1_2_2_9_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.cag.2019.08.014"},{"key":"e_1_2_2_10_1","doi-asserted-by":"publisher","DOI":"10.1080\/10867651.1998.10487494"},{"key":"e_1_2_2_11_1","volume-title":"Capturing Detailed Deformations of Moving Human Bodies. arXiv preprint arXiv:2102.07343","author":"Chen He","year":"2021","unstructured":"He Chen, Hyojoon Park, Kutay Macit, and Ladislav Kavan. 2021. Capturing Detailed Deformations of Moving Human Bodies. arXiv preprint arXiv:2102.07343 (2021)."},{"key":"e_1_2_2_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/311535.311576"},{"key":"e_1_2_2_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/2063384.2063396"},{"key":"e_1_2_2_14_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.cad.2013.08.044"},{"key":"e_1_2_2_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/3306346.3322968"},{"key":"e_1_2_2_16_1","first-page":"102","article-title":"GPU Optimization of Material Point Methods","volume":"32","author":"Gao Ming","year":"2018","unstructured":"Ming Gao, Xinlei Wang, Kui Wu, Andre Pradhana-Tampubolon, Eftychios Sifakis, Yuksel Cem, and Chenfanfu Jiang. 2018. GPU Optimization of Material Point Methods. ACM Trans. Graph. (Proc. SIGGRAPH Asia) 32, 4 (2018), 102.","journal-title":"ACM Trans. Graph. (Proc. SIGGRAPH Asia)"},{"key":"e_1_2_2_17_1","volume-title":"Primitives for the manipulation of general subdivisions and the computation of Voronoi. ACM transactions on graphics (TOG) 4, 2","author":"Guibas Leonidas","year":"1985","unstructured":"Leonidas Guibas and Jorge Stolfi. 1985. Primitives for the manipulation of general subdivisions and the computation of Voronoi. ACM transactions on graphics (TOG) 4, 2 (1985), 74--123."},{"key":"e_1_2_2_18_1","volume-title":"DiffTaichi: Differentiable Programming for Physical Simulation. ICLR","author":"Hu Yuanming","year":"2020","unstructured":"Yuanming Hu, Luke Anderson, Tzu-Mao Li, Qi Sun, Nathan Carr, Jonathan Ragan-Kelley, and Fr\u00e9do Durand. 2020. DiffTaichi: Differentiable Programming for Physical Simulation. ICLR (2020)."},{"key":"e_1_2_2_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/3197517.3201293"},{"key":"e_1_2_2_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/3355089.3356506"},{"key":"e_1_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/3450626.3459671"},{"key":"e_1_2_2_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/3197517.3201353"},{"key":"e_1_2_2_23_1","volume-title":"Computer Graphics Forum","author":"Ihmsen Markus","unstructured":"Markus Ihmsen, Nadir Akinci, Markus Becker, and Matthias Teschner. 2011. A parallel SPH implementation on multi-core CPUs. In Computer Graphics Forum, Vol. 30. Wiley Online Library, 99--112."},{"key":"e_1_2_2_24_1","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/3072959.3073623","article-title":"Anisotropic elastoplasticity for cloth, knit and hair frictional contact","volume":"36","author":"Jiang Chenfanfu","year":"2017","unstructured":"Chenfanfu Jiang, Theodore Gast, and Joseph Teran. 2017. Anisotropic elastoplasticity for cloth, knit and hair frictional contact. ACM Transactions on Graphics (TOG) 36, 4 (2017), 1--14.","journal-title":"ACM Transactions on Graphics (TOG)"},{"key":"e_1_2_2_25_1","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/2766996","article-title":"The affine particle-in-cell method","volume":"34","author":"Jiang Chenfanfu","year":"2015","unstructured":"Chenfanfu Jiang, Craig Schroeder, Andrew Selle, Joseph Teran, and Alexey Stomakhin. 2015. The affine particle-in-cell method. ACM Transactions on Graphics (TOG) 34, 4 (2015), 1--10.","journal-title":"ACM Transactions on Graphics (TOG)"},{"key":"e_1_2_2_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/2980179.2982438"},{"key":"e_1_2_2_27_1","volume-title":"Halfedge data structures. CGAL User and Reference Manual 3","author":"Kettner Lutz","year":"2006","unstructured":"Lutz Kettner and Fernando Cacciola. 2006. Halfedge data structures. CGAL User and Reference Manual 3 (2006)."},{"key":"e_1_2_2_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/2866569"},{"key":"e_1_2_2_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/1953611.1953615"},{"key":"e_1_2_2_30_1","volume-title":"LLVM: A compilation framework for lifelong program analysis & transformation. In Code Generation and Optimization.","author":"Lattner Chris","year":"2004","unstructured":"Chris Lattner and Vikram Adve. 2004. LLVM: A compilation framework for lifelong program analysis & transformation. In Code Generation and Optimization."},{"key":"e_1_2_2_31_1","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/2508363.2508406","article-title":"Fast simulation of mass-spring systems","volume":"32","author":"Liu Tiantian","year":"2013","unstructured":"Tiantian Liu, Adam W Bargteil, James F O'Brien, and Ladislav Kavan. 2013. Fast simulation of mass-spring systems. ACM Transactions on Graphics (TOG) 32, 6 (2013), 1--7.","journal-title":"ACM Transactions on Graphics (TOG)"},{"key":"e_1_2_2_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/2994258.2994272"},{"key":"e_1_2_2_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/3450626.3459748"},{"key":"e_1_2_2_34_1","volume-title":"An introduction to solid modeling","author":"M\u00e4ntyl\u00e4 Martti","unstructured":"Martti M\u00e4ntyl\u00e4. 1987. An introduction to solid modeling. Computer Science Press, Inc."},{"key":"e_1_2_2_35_1","volume-title":"GPU, & Game Tools 4","author":"Max Nelson L.","year":"1999","unstructured":"Nelson L. Max. 1999. Weights for Computing Vertex Normals from Facet Normals. J. Graphics, GPU, & Game Tools 4 (1999), 1--6."},{"key":"e_1_2_2_36_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jvcir.2007.01.005"},{"key":"e_1_2_2_37_1","doi-asserted-by":"crossref","unstructured":"Ken Museth Jeff Lait John Johanson Jeff Budsberg Ron Henderson Mihai Alden Peter Cucka David Hill and Andrew Pearce. 2013. OpenVDB: an open-source data structure and toolkit for high-resolution volumes. In Acm siggraph 2013 courses. 1--1.","DOI":"10.1145\/2504435.2504454"},{"key":"e_1_2_2_38_1","volume-title":"Symposium on Computer Animation","volume":"1","author":"Narain Rahul","year":"2016","unstructured":"Rahul Narain, Matthew Overby, and George E Brown. 2016. ADMM&supe; projective dynamics: fast simulation of general constitutive models.. In Symposium on Computer Animation, Vol. 1. 2016."},{"key":"e_1_2_2_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/2629697"},{"key":"e_1_2_2_40_1","doi-asserted-by":"crossref","unstructured":"Eftychios Sifakis and Jernej Barbic. 2012. FEM simulation of 3D deformable solids: a practitioner's guide to theory discretization and model reduction. In Acm siggraph 2012 courses. 1--50.","DOI":"10.1145\/2343483.2343501"},{"key":"e_1_2_2_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/37401.37427"},{"key":"e_1_2_2_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/3355089.3356486"},{"key":"e_1_2_2_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/1618452.1618512"},{"key":"e_1_2_2_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/3276491"},{"key":"e_1_2_2_45_1","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/2461912.2461961","article-title":"Interactive authoring of simulation-ready plants","volume":"32","author":"Zhao Yili","year":"2013","unstructured":"Yili Zhao and Jernej Barbi\u010d. 2013. Interactive authoring of simulation-ready plants. ACM Transactions on Graphics (TOG) 32, 4 (2013), 1--12.","journal-title":"ACM Transactions on Graphics (TOG)"},{"key":"e_1_2_2_46_1","first-page":"3D","article-title":"Thingi10K","volume":"10","author":"Zhou Qingnan","year":"2016","unstructured":"Qingnan Zhou and Alec Jacobson. 2016. Thingi10K: A Dataset of 10,000 3D-Printing Models. arXiv preprint arXiv:1605.04797 (2016).","journal-title":"A Dataset of"}],"container-title":["ACM Transactions on Graphics"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3550454.3555430","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3550454.3555430","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T17:49:11Z","timestamp":1750182551000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3550454.3555430"}},"subtitle":["A Compiler for Efficient Mesh-Based Operations"],"short-title":[],"issued":{"date-parts":[[2022,11,30]]},"references-count":45,"journal-issue":{"issue":"6","published-print":{"date-parts":[[2022,12]]}},"alternative-id":["10.1145\/3550454.3555430"],"URL":"https:\/\/doi.org\/10.1145\/3550454.3555430","relation":{},"ISSN":["0730-0301","1557-7368"],"issn-type":[{"value":"0730-0301","type":"print"},{"value":"1557-7368","type":"electronic"}],"subject":[],"published":{"date-parts":[[2022,11,30]]},"assertion":[{"value":"2022-11-30","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}