{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,16]],"date-time":"2026-07-16T11:08:20Z","timestamp":1784200100242,"version":"3.55.0"},"reference-count":47,"publisher":"Association for Computing Machinery (ACM)","issue":"OOPSLA2","license":[{"start":{"date-parts":[[2025,10,9]],"date-time":"2025-10-09T00:00:00Z","timestamp":1759968000000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100003151","name":"Fonds de recherche du Qu\u00e9bec \u2013 Nature et technologies","doi-asserted-by":"publisher","award":["370894"],"award-info":[{"award-number":["370894"]}],"id":[{"id":"10.13039\/501100003151","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100000038","name":"Natural Sciences and Engineering Research Council of Canada","doi-asserted-by":"publisher","award":["RGPIN-2020-05889"],"award-info":[{"award-number":["RGPIN-2020-05889"]}],"id":[{"id":"10.13039\/501100000038","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["2346519"],"award-info":[{"award-number":["2346519"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. ACM Program. Lang."],"published-print":{"date-parts":[[2025,10,9]]},"abstract":"<jats:p>\n                    Computing derivatives is paramount for multiple domains ranging from training neural networks to precise climate simulations. While derivatives can be generated by\n                    <jats:styled-content style=\"color:#781D7D\">AD (Automatic Differentiation)<\/jats:styled-content>\n                    tools, they often require aggressive optimization to avoid compromising program performance. One of the central optimizations consists of identifying\n                    <jats:italic toggle=\"yes\">inactive<\/jats:italic>\n                    operations that do not contribute to the partial derivatives of interest.\n                  <\/jats:p>\n                  <jats:p>\n                    Multiple tools provide\n                    <jats:italic toggle=\"yes\">activity<\/jats:italic>\n                    analyses for a variety of input languages, though often with only informal correctness guarantees. This paper formally defines activity analysis for\n                    <jats:styled-content style=\"color:#781D7D\">AD<\/jats:styled-content>\n                    as an abstract interpretation, proves its soundness, and implements it within the MLIR compiler infrastructure. To account for MLIR\u2019s genericity, a subset of MLIR\u2019s internal representation amenable to\n                    <jats:styled-content style=\"color:#781D7D\">AD<\/jats:styled-content>\n                    is formalized for the first time. Furthermore, the paper proposes a sound intraprocedural approximation of the whole-program activity analysis via function summaries along with a mechanism to automatically derive these summaries from function definitions.\n                  <\/jats:p>\n                  <jats:p>The implementation is evaluated on a differentiation-specific benchmark suite. It achieves a 1.24X geometric mean speedup on CPU and a 1.7X geometric mean speedup on GPU in the runtime of generated programs, when compared to a baseline that does not use activity analysis. The evaluation also demonstrates that the intraprocedural analysis with function summaries proves inactive 100% of instructions proven inactive by the whole-program analysis.<\/jats:p>","DOI":"10.1145\/3763125","type":"journal-article","created":{"date-parts":[[2025,10,9]],"date-time":"2025-10-09T08:49:50Z","timestamp":1759999790000},"page":"2087-2114","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Sound and Modular Activity Analysis for Automatic Differentiation in MLIR"],"prefix":"10.1145","volume":"9","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-2377-264X","authenticated-orcid":false,"given":"Mai Jacob","family":"Peng","sequence":"first","affiliation":[{"name":"McGill University, Montr\u00e9al, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-2627-0642","authenticated-orcid":false,"given":"William S.","family":"Moses","sequence":"additional","affiliation":[{"name":"University of Illinois Urbana-Champaign, Champaign, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-1978-0222","authenticated-orcid":false,"given":"Oleksandr","family":"Zinenko","sequence":"additional","affiliation":[{"name":"Brium Inc., Paris, France"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4811-2469","authenticated-orcid":false,"given":"Christophe","family":"Dubach","sequence":"additional","affiliation":[{"name":"McGill University, Montr\u00e9al, Canada"},{"name":"Mila, Montr\u00e9al, Canada"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2025,10,9]]},"reference":[{"key":"e_1_3_2_2_2","doi-asserted-by":"publisher","DOI":"10.1145\/3371106"},{"key":"e_1_3_2_3_2","doi-asserted-by":"publisher","DOI":"10.1145\/73560.73561"},{"key":"e_1_3_2_4_2","doi-asserted-by":"publisher","DOI":"10.1145\/278283.278285"},{"key":"e_1_3_2_5_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-031-13188-2_19"},{"key":"e_1_3_2_6_2","doi-asserted-by":"publisher","DOI":"10.1145\/201059.201061"},{"key":"e_1_3_2_7_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-32304-2-19"},{"key":"e_1_3_2_8_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-32304-2_6"},{"key":"e_1_3_2_9_2","volume-title":"Principles of Abstract Interpretation","author":"Cousot Patrick","year":"2021","unstructured":"Patrick Cousot. 2021. Principles of Abstract Interpretation (1 ed.). MIT Press."},{"key":"e_1_3_2_10_2","doi-asserted-by":"publisher","DOI":"10.1145\/512950.512973"},{"key":"e_1_3_2_11_2","doi-asserted-by":"publisher","DOI":"10.5555\/647478.727794"},{"key":"e_1_3_2_12_2","doi-asserted-by":"publisher","DOI":"10.1145\/1993498.1993565"},{"key":"e_1_3_2_13_2","doi-asserted-by":"publisher","DOI":"10.1080\/10556788.2018.1435651"},{"key":"e_1_3_2_14_2","unstructured":"Roy Frostig Matthew Johnson and Chris Leary. 2018. Compiling machine learning programs via high-level tracing. https:\/\/mlsys.org\/Conferences\/doc\/2018\/146.pdf"},{"key":"e_1_3_2_15_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.future.2024.107512"},{"key":"e_1_3_2_16_2","doi-asserted-by":"publisher","DOI":"10.1145\/2450153.2450158"},{"key":"e_1_3_2_17_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.future.2004.11.009"},{"key":"e_1_3_2_18_2","doi-asserted-by":"publisher","DOI":"10.1109\/ICRA48506.2021.9560935"},{"key":"e_1_3_2_19_2","volume-title":"8th International Conference on Learning Representations, ICLR 2020, Addis Ababa, Ethiopia, April 26-30, 2020.","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. Diff- Taichi: Differentiable Programming for Physical Simulation. In 8th International Conference on Learning Representations, ICLR 2020, Addis Ababa, Ethiopia, April 26-30, 2020. OpenReview.net. https:\/\/openreview.net\/forum?id=BleB5xSFvr"},{"key":"e_1_3_2_20_2","doi-asserted-by":"publisher","DOI":"10.1002\/widm.1555"},{"key":"e_1_3_2_21_2","doi-asserted-by":"publisher","DOI":"10.1145\/3015464"},{"key":"e_1_3_2_22_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-45231-5_17"},{"key":"e_1_3_2_23_2","doi-asserted-by":"publisher","DOI":"10.1080\/0025570X.2002.11953128"},{"key":"e_1_3_2_24_2","first-page":"17","article-title":"SPIR-V specification","volume":"3","author":"Kessenich John","year":"2018","unstructured":"John Kessenich, Boaz Ouriel, and Raun Krisch. 2018. SPIR-V specification. Khronos Group 3 (2018), 17.","journal-title":"Khronos Group"},{"key":"e_1_3_2_25_2","doi-asserted-by":"publisher","DOI":"10.1145\/3498710"},{"key":"e_1_3_2_26_2","doi-asserted-by":"publisher","unstructured":"Jakub Kuderski Jorge A. Navas and Arie Gurfinkel. 2019. Unification-based Pointer Analysis without Oversharing. In 2019 Formal Methods in Computer Aided Design (FMCAD). 37\u201345. doi:10.23919\/FMCAD.2019.8894275","DOI":"10.23919\/FMCAD.2019.8894275"},{"key":"e_1_3_2_27_2","doi-asserted-by":"publisher","DOI":"10.1145\/3414685.3417861"},{"key":"e_1_3_2_28_2","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2004.1281665"},{"key":"e_1_3_2_29_2","doi-asserted-by":"publisher","unstructured":"Chris Lattner Mehdi Amini Uday Bondhugula Albert Cohen Andy Davis Jacques Pienaar River Riddle Tatiana Shpeisman Nicolas Vasilache and Oleksandr Zinenko. 2021. MLIR: Scaling Compiler Infrastructure for Domain Specific Computation. In 2021 IEEE\/ACM International Symposium on Code Generation and Optimization (CGO). 2\u201314. doi:10.1109\/CG051591.2021.9370308","DOI":"10.1109\/CG051591.2021.9370308"},{"key":"e_1_3_2_30_2","doi-asserted-by":"publisher","DOI":"10.1145\/3453483.3454030"},{"key":"e_1_3_2_31_2","doi-asserted-by":"publisher","DOI":"10.1017\/S0960129524000215"},{"key":"e_1_3_2_32_2","unstructured":"Anders Moller and Michael I Schwartzbach. 2012. Static program analysis. Notes. Feb (2012)."},{"key":"e_1_3_2_33_2","first-page":"12472","volume-title":"Advances in Neural Information Processing Systems","author":"Moses William","year":"2020","unstructured":"William Moses and Valentin Churavy. 2020. Instead of Rewriting Foreign Code for Machine Learning, Automatically Synthesize Fast Gradients. In Advances in Neural Information Processing Systems, H. Larochelle, M. Ranzato, R. Hadsell, M.F. Balcan and H. Lin. (Eds.), Vol. 33. Curran Associates, Inc., 12472\u201312485. https:\/\/proceedings.neurips.cc\/paper\/2020\/file\/9332c513ef44b682e9347822c2e457ac-Paper.pdf"},{"key":"e_1_3_2_34_2","doi-asserted-by":"publisher","DOI":"10.1145\/3458817.3476165"},{"key":"e_1_3_2_35_2","first-page":"18","volume-title":"Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis","author":"Moses William S.","year":"2022","unstructured":"William S. Moses, Sri Hari Krishna Narayanan, Ludger Paehler, Valentin Churavy, Michel Schanen, Jan H\u00fcckelheim, Johannes Doerfert, and Paul Hovland. 2022. Scalable automatic differentiation of multiple parallel paradigms through compiler augmentation. In Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis (Dallas, Texas) (SC \u201922). IEEE Press, Article 60, 18 pages."},{"key":"e_1_3_2_36_2","doi-asserted-by":"publisher","DOI":"10.5555\/1965094"},{"key":"e_1_3_2_37_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-27864-1_14"},{"key":"e_1_3_2_38_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-68942-3_18"},{"key":"e_1_3_2_39_2","volume-title":"PyTorch: an imperative style, high-performance deep learning library.","author":"Paszke Adam","year":"2019","unstructured":"Adam Paszke, Sam Gross, Francisco Massa, Adam Lerer, James Bradbury, Gregory Chanan, Trevor Killeen, Zeming Lin, Natalia Gimelshein, Luca Antiga, Alban Desmaison, Andreas K\u00f6pf, Edward Yang, Zach DeVito, Martin Raison, Alykhan Tejani, Sasank Chilamkurthy, Benoit Steiner, Lu Fang, Junjie Bai, and Soumith Chintala. 2019. PyTorch: an imperative style, high-performance deep learning library. Curran Associates Inc., Red Hook, NY, USA."},{"key":"e_1_3_2_40_2","doi-asserted-by":"publisher","DOI":"10.1145\/1330017.1330018"},{"key":"e_1_3_2_41_2","doi-asserted-by":"publisher","DOI":"10.1145\/3578360.3580259"},{"key":"e_1_3_2_42_2","doi-asserted-by":"publisher","unstructured":"Mai Jacob Peng William Moses Oleksandr Zinenko and Christophe Dubach. 2025. activity-analysis-artifact. (8 2025). doi:10.6084\/m9.figshare.29867150.v2","DOI":"10.6084\/m9.figshare.29867150.v2"},{"key":"e_1_3_2_43_2","doi-asserted-by":"publisher","DOI":"10.1145\/3434284"},{"key":"e_1_3_2_44_2","doi-asserted-by":"publisher","DOI":"10.1145\/1244002.1244287"},{"key":"e_1_3_2_45_2","doi-asserted-by":"publisher","DOI":"10.1561\/2500000014"},{"key":"e_1_3_2_46_2","doi-asserted-by":"publisher","unstructured":"Matthijs V\u00e2k\u00e2r. 2020. Denotational Correctness of Foward-Mode Automatic Differentiation for Iteration and Recursion. arXiv:2007.05282 [cs.PL] doi:10.48550\/arXiv.2007.05282","DOI":"10.48550\/arXiv.2007.05282"},{"key":"e_1_3_2_47_2","doi-asserted-by":"publisher","DOI":"10.1145\/103135.103136"},{"key":"e_1_3_2_48_2","doi-asserted-by":"publisher","DOI":"10.1145\/2103656.2103709"}],"container-title":["Proceedings of the ACM on Programming Languages"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3763125","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3763125","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,7,16]],"date-time":"2026-07-16T10:09:23Z","timestamp":1784196563000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3763125"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,10,9]]},"references-count":47,"journal-issue":{"issue":"OOPSLA2","published-print":{"date-parts":[[2025,10,9]]}},"alternative-id":["10.1145\/3763125"],"URL":"https:\/\/doi.org\/10.1145\/3763125","relation":{},"ISSN":["2475-1421"],"issn-type":[{"value":"2475-1421","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025,10,9]]},"assertion":[{"value":"2025-03-26","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-08-12","order":2,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-10-09","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}