{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,9,25]],"date-time":"2025-09-25T18:17:56Z","timestamp":1758824276328,"version":"3.41.0"},"reference-count":30,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2017,7,20]],"date-time":"2017-07-20T00:00:00Z","timestamp":1500508800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100004405","name":"Toyota","doi-asserted-by":"crossref","id":[{"id":"10.13039\/501100004405","id-type":"DOI","asserted-by":"crossref"}]},{"name":"DARPA REVEAL"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Graph."],"published-print":{"date-parts":[[2017,8,31]]},"abstract":"<jats:p>Implementing Monte Carlo integration requires significant domain expertise. While simple samplers, such as unidirectional path tracing, are relatively forgiving, more complex algorithms, such as bidirectional path tracing or Metropolis methods, are notoriously difficult to implement correctly. We propose Aether, an embedded domain specific language for Monte Carlo integration, which offers primitives for writing concise and correct-by-construction sampling and probability code. The user is tasked with writing sampling code, while our compiler automatically generates the code necessary for evaluating PDFs as well as the book keeping and combination of multiple sampling strategies. Our language focuses on ease of implementation for rapid exploration, at the cost of run time performance. We demonstrate the effectiveness of the language by implementing several challenging rendering algorithms as well as a new algorithm, which would otherwise be prohibitively difficult.<\/jats:p>","DOI":"10.1145\/3072959.3073704","type":"journal-article","created":{"date-parts":[[2017,7,21]],"date-time":"2017-07-21T12:24:07Z","timestamp":1500639847000},"page":"1-16","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":15,"title":["Aether"],"prefix":"10.1145","volume":"36","author":[{"given":"Luke","family":"Anderson","sequence":"first","affiliation":[{"name":"MIT CSAIL"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Tzu-Mao","family":"Li","sequence":"additional","affiliation":[{"name":"MIT CSAIL"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jaakko","family":"Lehtinen","sequence":"additional","affiliation":[{"name":"Aalto University and NVIDIA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Fr\u00e9do","family":"Durand","sequence":"additional","affiliation":[{"name":"MIT CSAIL and Universit\u00e9 C\u00f4te d'Azur"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2017,7,20]]},"reference":[{"doi-asserted-by":"publisher","key":"e_1_2_2_1_1","DOI":"10.1145\/97879.97886"},{"doi-asserted-by":"publisher","key":"e_1_2_2_2_1","DOI":"10.1145\/2366145.2366211"},{"key":"e_1_2_2_3_1","volume-title":"Church: a language for generative models. arXiv preprint arXiv:1206.3255","author":"Goodman Noah","year":"2012","unstructured":"Noah Goodman , Vikash Mansinghka , Daniel Roy , Keith Bonawitz , and Daniel Tarlow . 2012. Church: a language for generative models. arXiv preprint arXiv:1206.3255 ( 2012 ). Noah Goodman, Vikash Mansinghka, Daniel Roy, Keith Bonawitz, and Daniel Tarlow. 2012. Church: a language for generative models. arXiv preprint arXiv:1206.3255 (2012)."},{"volume-title":"The Design and Implementation of Probabilistic Programming Languages","author":"Goodman Noah D","unstructured":"Noah D Goodman and Andreas Stuhlm\u00fcller . 2014. The Design and Implementation of Probabilistic Programming Languages . http:\/\/dippl.org. (2014). Accessed: 2015-12-17. Noah D Goodman and Andreas Stuhlm\u00fcller. 2014. The Design and Implementation of Probabilistic Programming Languages. http:\/\/dippl.org. (2014). Accessed: 2015-12-17.","key":"e_1_2_2_4_1"},{"doi-asserted-by":"publisher","key":"e_1_2_2_5_1","DOI":"10.1145\/1399504.1360632"},{"doi-asserted-by":"publisher","key":"e_1_2_2_6_1","DOI":"10.1145\/1457515.1409083"},{"doi-asserted-by":"publisher","key":"e_1_2_2_7_1","DOI":"10.1145\/2366145.2366210"},{"unstructured":"Wenzel Jakob. 2010. Mitsuba renderer. (2010). http:\/\/www.mitsuba-renderer.org.  Wenzel Jakob. 2010. Mitsuba renderer. (2010). http:\/\/www.mitsuba-renderer.org.","key":"e_1_2_2_8_1"},{"doi-asserted-by":"publisher","key":"e_1_2_2_9_1","DOI":"10.1145\/2185520.2185554"},{"doi-asserted-by":"publisher","key":"e_1_2_2_10_1","DOI":"10.1007\/978-3-7091-7484-5_3"},{"doi-asserted-by":"publisher","key":"e_1_2_2_11_1","DOI":"10.5555\/3071773.3071780"},{"doi-asserted-by":"publisher","key":"e_1_2_2_12_1","DOI":"10.1145\/15922.15902"},{"doi-asserted-by":"publisher","key":"e_1_2_2_13_1","DOI":"10.1145\/258734.258769"},{"key":"e_1_2_2_14_1","volume-title":"Gradient-Domain Path Tracing. ACM Trans. Graph. (Proceedings of SIGGRAPH 2015)","author":"Kettunen Markus","year":"2015","unstructured":"Markus Kettunen , Marco Manzi , Miika Aittala , Jaakko Lehtinen , Fr\u00e9do Durand , and Matthias Zwicker . 2015 . Gradient-Domain Path Tracing. ACM Trans. Graph. (Proceedings of SIGGRAPH 2015) 34, 4 (2015). Markus Kettunen, Marco Manzi, Miika Aittala, Jaakko Lehtinen, Fr\u00e9do Durand, and Matthias Zwicker. 2015. Gradient-Domain Path Tracing. ACM Trans. Graph. (Proceedings of SIGGRAPH 2015) 34, 4 (2015)."},{"key":"e_1_2_2_15_1","article-title":"Progressive Photon Mapping","volume":"30","author":"Knaus Claude","year":"2011","unstructured":"Claude Knaus and Matthias Zwicker . 2011 . Progressive Photon Mapping : A Probabilistic Approach. ACM Trans. Graph. 30 , 3, Article 25 (May 2011), 13 pages. Claude Knaus and Matthias Zwicker. 2011. Progressive Photon Mapping: A Probabilistic Approach. ACM Trans. Graph. 30, 3, Article 25 (May 2011), 13 pages.","journal-title":"A Probabilistic Approach. ACM Trans. Graph."},{"key":"e_1_2_2_16_1","volume-title":"Factorie: Probabilistic programming via imperatively defined factor graphs. In Advances in Neural Information Processing Systems. 1249--1257.","author":"McCallum Andrew","year":"2009","unstructured":"Andrew McCallum , Karl Schultz , and Sameer Singh . 2009 . Factorie: Probabilistic programming via imperatively defined factor graphs. In Advances in Neural Information Processing Systems. 1249--1257. Andrew McCallum, Karl Schultz, and Sameer Singh. 2009. Factorie: Probabilistic programming via imperatively defined factor graphs. In Advances in Neural Information Processing Systems. 1249--1257."},{"key":"e_1_2_2_17_1","volume-title":"BLOG: Probabilistic Models with Unknown Objects. Statistical relational learning","author":"Milch Brian","year":"2007","unstructured":"Brian Milch , Bhaskara Marthi , Stuart Russell , David Sontag , Daniel L Ong , and Andrey Kolobov . 2007 . BLOG: Probabilistic Models with Unknown Objects. Statistical relational learning (2007), 373. Brian Milch, Bhaskara Marthi, Stuart Russell, David Sontag, Daniel L Ong, and Andrey Kolobov. 2007. BLOG: Probabilistic Models with Unknown Objects. Statistical relational learning (2007), 373."},{"doi-asserted-by":"publisher","key":"e_1_2_2_18_1","DOI":"10.1111\/j.1467-8659.2010.01722.x"},{"volume-title":"Physically Based Rendering","author":"Pharr Matt","unstructured":"Matt Pharr and Greg Humphreys . 2010. Physically Based Rendering , Second Edition : From Theory To Implementation (2nd ed.). Morgan Kaufmann Publishers Inc ., San Francisco, CA, USA. Matt Pharr and Greg Humphreys. 2010. Physically Based Rendering, Second Edition: From Theory To Implementation (2nd ed.). Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.","key":"e_1_2_2_19_1"},{"doi-asserted-by":"publisher","key":"e_1_2_2_20_1","DOI":"10.1145\/226150.226151"},{"issue":"9","key":"e_1_2_2_21_1","first-page":"0","article-title":"Stan Modeling Language Users Guide and Reference Manual","volume":"2","author":"Team Stan Development","year":"2015","unstructured":"Stan Development Team . 2015 . Stan Modeling Language Users Guide and Reference Manual , Version 2 . 9 . 0 . http:\/\/mc-stan.org\/ Stan Development Team. 2015. Stan Modeling Language Users Guide and Reference Manual, Version 2.9.0. http:\/\/mc-stan.org\/","journal-title":"Version"},{"doi-asserted-by":"crossref","unstructured":"Eric Veach and Leonidas Guibas. 1994. Bidirectional Estimators for Light Transport.  Eric Veach and Leonidas Guibas. 1994. Bidirectional Estimators for Light Transport.","key":"e_1_2_2_23_1","DOI":"10.1007\/978-3-642-87825-1_11"},{"doi-asserted-by":"publisher","key":"e_1_2_2_24_1","DOI":"10.1145\/258734.258775"},{"volume-title":"C++ gems","author":"Veldhuizen Todd","unstructured":"Todd Veldhuizen . 1996. Using C++ template metaprograms . In C++ gems . SIGS Publications, Inc. , 459--473. Todd Veldhuizen. 1996. Using C++ template metaprograms. In C++ gems. SIGS Publications, Inc., 459--473.","key":"e_1_2_2_26_1"},{"doi-asserted-by":"publisher","key":"e_1_2_2_27_1","DOI":"10.1145\/2601097.2601199"},{"doi-asserted-by":"publisher","key":"e_1_2_2_28_1","DOI":"10.1145\/1186822.1073318"},{"key":"e_1_2_2_29_1","volume-title":"An Efficient GPU-based Approach for Interactive Global Illumination. ACM Trans. Graph. (Proceedings of SIGGRAPH 2009)","author":"Wang Rui","year":"2009","unstructured":"Rui Wang , Rui Wang , Kun Zhou , Minghao Pan , and Hujun Bao . 2009 . An Efficient GPU-based Approach for Interactive Global Illumination. ACM Trans. Graph. (Proceedings of SIGGRAPH 2009) 28, 3, Article 91 (July 2009), 8 pages. Rui Wang, Rui Wang, Kun Zhou, Minghao Pan, and Hujun Bao. 2009. An Efficient GPU-based Approach for Interactive Global Illumination. ACM Trans. Graph. (Proceedings of SIGGRAPH 2009) 28, 3, Article 91 (July 2009), 8 pages."},{"doi-asserted-by":"publisher","key":"e_1_2_2_30_1","DOI":"10.1145\/54852.378490"},{"unstructured":"Wolfram Research Inc. 2016. Mathematica.  Wolfram Research Inc. 2016. Mathematica.","key":"e_1_2_2_31_1"},{"key":"e_1_2_2_32_1","volume-title":"Proc. Conf. Applications of Computing Methods to Reactor Problems","volume":"557","author":"Woodcock E","year":"1965","unstructured":"E Woodcock , T Murphy , P Hemmings , and S Longworth . 1965 . Techniques used in the GEM code for Monte Carlo neutronics calculations in reactors and other systems of complex geometry . In Proc. Conf. Applications of Computing Methods to Reactor Problems , Vol. 557 . E Woodcock, T Murphy, P Hemmings, and S Longworth. 1965. Techniques used in the GEM code for Monte Carlo neutronics calculations in reactors and other systems of complex geometry. In Proc. Conf. Applications of Computing Methods to Reactor Problems, Vol. 557."}],"container-title":["ACM Transactions on Graphics"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3072959.3073704","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3072959.3073704","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T03:30:23Z","timestamp":1750217423000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3072959.3073704"}},"subtitle":["an embedded domain specific sampling language for Monte Carlo rendering"],"short-title":[],"issued":{"date-parts":[[2017,7,20]]},"references-count":30,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2017,8,31]]}},"alternative-id":["10.1145\/3072959.3073704"],"URL":"https:\/\/doi.org\/10.1145\/3072959.3073704","relation":{},"ISSN":["0730-0301","1557-7368"],"issn-type":[{"type":"print","value":"0730-0301"},{"type":"electronic","value":"1557-7368"}],"subject":[],"published":{"date-parts":[[2017,7,20]]},"assertion":[{"value":"2017-07-20","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}