{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,31]],"date-time":"2026-03-31T23:13:41Z","timestamp":1774998821337,"version":"3.50.1"},"reference-count":18,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2023,2,22]],"date-time":"2023-02-22T00:00:00Z","timestamp":1677024000000},"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":["Commun. ACM"],"published-print":{"date-parts":[[2023,3]]},"DOI":"10.1145\/3580371","type":"journal-article","created":{"date-parts":[[2023,2,22]],"date-time":"2023-02-22T10:11:38Z","timestamp":1677060698000},"page":"89-97","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["Achieving High Performance the Functional Way"],"prefix":"10.1145","volume":"66","author":[{"given":"Bastian","family":"Hagedorn","sequence":"first","affiliation":[{"name":"NVIDIA, W\u00fcrselen, Germany"}]},{"given":"Johannes","family":"Lenfers","sequence":"additional","affiliation":[{"name":"University of M\u00fcnster, Germany"}]},{"given":"Thomas","family":"K\u0153hler","sequence":"additional","affiliation":[{"name":"University of Glasgow, U.K"}]},{"given":"Xueying","family":"Qin","sequence":"additional","affiliation":[{"name":"The University of Edinburgh, U.K"}]},{"given":"Sergei","family":"Gorlatch","sequence":"additional","affiliation":[{"name":"University of M\u00fcnster, Germany"}]},{"given":"Michel","family":"Steuwer","sequence":"additional","affiliation":[{"name":"The University of Edinburgh, U.K"}]}],"member":"320","published-online":{"date-parts":[[2023,2,22]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"Abadi M. Agarwal A. Barham P. Brevdo E. Chen Z. Citro C. Corrado G.S. Davis A. Dean J. Devin M. Ghemawat S. Goodfellow I. Harp A. Irving G. Isard M. Jia Y. Jozefowicz R. Kaiser L. Kudlur M. Levenberg J. Man\u00e9 D. Monga R. Moore S. Murray D. Olah C. Schuster M. Shlens J. Steiner B. Sutskever I. Talwar K. Tucker P. Vanhoucke V. Vasudevan V. Vi\u00e9gas F. Vinyals O. Warden P. Wattenberg M. Wicke M. Yu Y. Zheng X. TensorFlow: Large-scale machine learning on heterogeneous systems 2015. Software available from tensorow.org."},{"key":"e_1_2_1_2_1","volume-title":"Strategy preserving compilation for parallel functional code. CoRR, abs\/1710.08332","author":"Atkey R.","year":"2017","unstructured":"Atkey, R., Steuwer, M., Lindley, S., Dubach, C. Strategy preserving compilation for parallel functional code. CoRR, abs\/1710.08332, 2017."},{"key":"e_1_2_1_3_1","first-page":"183","article-title":"Machine learning systems are stuck in a rut","volume":"177","author":"Barham P.","year":"2019","unstructured":"Barham, P., Isard, M. Machine learning systems are stuck in a rut. In HotOS. ACM, 2019, 177--183.","journal-title":"HotOS. ACM"},{"key":"e_1_2_1_4_1","volume-title":"13th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2018","author":"Chen T.","year":"2018","unstructured":"Chen, T., Moreau, T., Jiang, Z., Zheng, L., Yan, E.Q., Shen, H., Cowan, M., Wang, L., Hu, Y., Ceze, L., Guestrin, C., Krishnamurthy, A. TVM: An automated end-to-end optimizing compiler for deep learning. In 13th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2018. (Carlsbad, CA, USA, October 8--10, 2018), 2018, 578--594."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/3410227"},{"key":"e_1_2_1_6_1","volume-title":"Proceedings of the 2018 International Symposium on Code Generation and Optimization, CGO 2018, (V\u00f6sendorf\/Vienna, Austria, February 24--28, 2018","author":"Hagedorn B.","year":"2018","unstructured":"Hagedorn, B., Stoltzfus, L., Steuwer, M., Gorlatch, S., Dubach, C. High performance stencil code generation with Lift. In Proceedings of the 2018 International Symposium on Code Generation and Optimization, CGO 2018, (V\u00f6sendorf\/Vienna, Austria, February 24--28, 2018), 2018, 100--112."},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/3282307"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-23165-5_18"},{"key":"e_1_2_1_9_1","volume-title":"Specification of rewriting strategies. Universiteit van Amsterdam","author":"Luttik S.P.","year":"1997","unstructured":"Luttik, S.P., Visser, E., et al. Specification of rewriting strategies. Universiteit van Amsterdam. Programming Research Group, 1997."},{"key":"e_1_2_1_10_1","volume-title":"Automatic differentiation in pytorch","author":"Paszke A.","year":"2017","unstructured":"Paszke, A., Gross, S., Chintala, S., Chanan, G., Yang, E., DeVito, Z., Lin, Z., Desmaison, A., Antiga, L., Lerer, A. Automatic differentiation in pytorch. 2017."},{"key":"e_1_2_1_11_1","first-page":"1","article-title":"Decoupling algorithms from schedules for high-performance image processing","volume":"61","author":"Ragan-Kelley J.","year":"2018","unstructured":"Ragan-Kelley, J., Adams, A., Sharlet, D., Barnes, C., Paris, S., Levoy, M., Amarasinghe, S. P., Durand, F. Halide: Decoupling algorithms from schedules for high-performance image processing. Commun. ACM 61, 1 (2018), 106--115.","journal-title":"Commun. ACM"},{"key":"e_1_2_1_12_1","first-page":"217","article-title":"Generating performance portable code using rewrite rules: From high-level functional expressions to high-performance opencl code","volume":"205","author":"Steuwer M.","year":"2015","unstructured":"Steuwer, M., Fensch, C., Lindley, S., Dubach, C. Generating performance portable code using rewrite rules: From high-level functional expressions to high-performance opencl code. In ICFP. ACM, 2015, 205--217.","journal-title":"ICFP. ACM"},{"key":"e_1_2_1_13_1","first-page":"1","article-title":"Matrix multiplication beyond auto-tuning: rewrite-based GPU code generation","volume":"15","author":"Steuwer M.","year":"2016","unstructured":"Steuwer, M., Remmelg, T., Dubach, C. Matrix multiplication beyond auto-tuning: rewrite-based GPU code generation. In CASES. ACM, 2016, 15:1--15:10.","journal-title":"CASES. ACM"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2017.7863730"},{"key":"e_1_2_1_15_1","unstructured":"TVM. How to optimize gemm on cpu 2020."},{"key":"e_1_2_1_16_1","volume-title":"12th International Conference, RTA 2001, Utrecht, The Netherlands, May 22--24, 2001","author":"Visser E.","year":"2001","unstructured":"Visser, E. Stratego: A language for program transformation based on rewriting strategies. In Rewriting Techniques and Applications, 12th International Conference, RTA 2001, Utrecht, The Netherlands, May 22--24, 2001, Proceedings, 2001, 357--362."},{"key":"e_1_2_1_17_1","first-page":"238","article-title":"Program transformation with Stratego\/XT. In Domain-specific program generation","volume":"216","author":"Visser E","year":"2004","unstructured":"Visser, E. Program transformation with Stratego\/XT. In Domain-specific program generation. Springer, 2004, 216--238.","journal-title":"Springer"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/289423.289425"}],"container-title":["Communications of the ACM"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3580371","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3580371","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T16:37:42Z","timestamp":1750178262000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3580371"}},"subtitle":["Expressing High-Performance Optimizations as Rewrite Strategies"],"short-title":[],"issued":{"date-parts":[[2023,2,22]]},"references-count":18,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2023,3]]}},"alternative-id":["10.1145\/3580371"],"URL":"https:\/\/doi.org\/10.1145\/3580371","relation":{},"ISSN":["0001-0782","1557-7317"],"issn-type":[{"value":"0001-0782","type":"print"},{"value":"1557-7317","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023,2,22]]},"assertion":[{"value":"2023-02-22","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}