{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,27]],"date-time":"2026-02-27T08:08:44Z","timestamp":1772179724837,"version":"3.50.1"},"reference-count":37,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2024,3,16]],"date-time":"2024-03-16T00:00:00Z","timestamp":1710547200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"European High-Performance Computing Joint Undertaking","award":["955558"],"award-info":[{"award-number":["955558"]}]},{"name":"European Union\u2019s Horizon 2020 research and innovation programme, and Spain, Germany, France, Italy, Poland, Switzerland, and Norway"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Math. Softw."],"published-print":{"date-parts":[[2024,3,31]]},"abstract":"<jats:p>\n            We explore the utilization of the Apache TVM open source framework to automatically generate a family of algorithms that follow the approach taken by popular linear algebra libraries, such as GotoBLAS2, BLIS, and OpenBLAS, to obtain high-performance blocked formulations of the general matrix multiplication (\n            <jats:sc>gemm<\/jats:sc>\n            ). In addition, we fully automatize the generation process by also leveraging the Apache TVM framework to derive a complete variety of the processor-specific micro-kernels for\n            <jats:sc>gemm<\/jats:sc>\n            . This is in contrast with the convention in high-performance libraries, which hand-encode a single micro-kernel per architecture using Assembly code. In global, the combination of our TVM-generated blocked algorithms and micro-kernels for\n            <jats:sc>gemm<\/jats:sc>\n            (1)\u00a0improves portability, maintainability, and, globally, streamlines the software life cycle; (2)\u00a0provides high flexibility to easily tailor and optimize the solution to different data types, processor architectures, and matrix operand shapes, yielding performance on a par (or even superior for specific matrix shapes) with that of hand-tuned libraries; and (3)\u00a0features a small memory footprint.\n          <\/jats:p>","DOI":"10.1145\/3638532","type":"journal-article","created":{"date-parts":[[2023,12,26]],"date-time":"2023-12-26T20:44:47Z","timestamp":1703623487000},"page":"1-34","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":9,"title":["Algorithm\u00a01039: Automatic Generators for a Family of Matrix Multiplication Routines with Apache TVM"],"prefix":"10.1145","volume":"50","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-5909-3094","authenticated-orcid":false,"given":"Guillermo","family":"Alaejos","sequence":"first","affiliation":[{"name":"Universitat Polit\u00e8cnica de Val\u00e8ncia, Valencia, Spain"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-8576-8451","authenticated-orcid":false,"given":"Adri\u00e1n","family":"Castell\u00f3","sequence":"additional","affiliation":[{"name":"Universitat Polit\u00e8cnica de Val\u00e8ncia, Valencia, Spain"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-6882-6592","authenticated-orcid":false,"given":"Pedro","family":"Alonso-Jord\u00e1","sequence":"additional","affiliation":[{"name":"Universitat Polit\u00e8cnica de Val\u00e8ncia, Valencia, Spain"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4480-9517","authenticated-orcid":false,"given":"Francisco D.","family":"Igual","sequence":"additional","affiliation":[{"name":"Universidad Complutense de Madrid, Madrid, Spain"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-5891-4479","authenticated-orcid":false,"given":"H\u00e9ctor","family":"Mart\u00ednez","sequence":"additional","affiliation":[{"name":"Universidad de C\u00f3rdoba, C\u00f3rdoba, Spain"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-5454-165X","authenticated-orcid":false,"given":"Enrique S.","family":"Quintana-Ort\u00ed","sequence":"additional","affiliation":[{"name":"Universitat Polit\u00e8cnica de Val\u00e8ncia, Valencia, Spain"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2024,3,16]]},"reference":[{"key":"e_1_3_2_2_2","first-page":"459","volume-title":"Proceedings of the 34th International Conference on Machine Learning (ICML\u201917)","volume":"70","author":"Bello Irwan","year":"2017","unstructured":"Irwan Bello, Barret Zoph, Vijay Vasudevan, and Quoc V. Le. 2017. Neural optimizer search with reinforcement learning. In Proceedings of the 34th International Conference on Machine Learning (ICML\u201917), Doina Precup and Yee Whye Teh (Eds.), Vol. 70. PMLR, 459\u2013468."},{"key":"e_1_3_2_3_2","doi-asserted-by":"publisher","DOI":"10.1145\/3320060"},{"key":"e_1_3_2_4_2","doi-asserted-by":"publisher","DOI":"10.5555\/2503308.2188395"},{"key":"e_1_3_2_5_2","article-title":"High performance code generation in MLIR: An early case study with GEMM","volume":"2003","author":"Bondhugula Uday","year":"2020","unstructured":"Uday Bondhugula. 2020. High performance code generation in MLIR: An early case study with GEMM. CoRR abs\/2003.00532 (2020).","journal-title":"CoRR"},{"key":"e_1_3_2_6_2","doi-asserted-by":"publisher","DOI":"10.1109\/PDP55904.2022.00023"},{"key":"e_1_3_2_7_2","volume-title":"Proceedings of the International Workshop on Frontiers in Handwriting Recognition","author":"Chellapilla Kumar","year":"2006","unstructured":"Kumar Chellapilla, Sidd Puri, and Patrice Simard. 2006. High performance convolutional neural networks for document processing. In Proceedings of the International Workshop on Frontiers in Handwriting Recognition."},{"key":"e_1_3_2_8_2","doi-asserted-by":"publisher","DOI":"10.1145\/2939672.2939785"},{"key":"e_1_3_2_9_2","article-title":"TVM: End-to-end optimization stack for deep learning","volume":"1802","author":"Chen Tianqi","year":"2018","unstructured":"Tianqi Chen, Thierry Moreau, Ziheng Jiang, Haichen Shen, Eddie Q. Yan, Leyuan Wang, Yuwei Hu, Luis Ceze, Carlos Guestrin, and Arvind Krishnamurthy. 2018. TVM: End-to-end optimization stack for deep learning. CoRR abs\/1802.04799 (2018).","journal-title":"CoRR"},{"key":"e_1_3_2_10_2","first-page":"579","volume-title":"Proceedings of the 13th USENIX Conference on Operating Systems Design and Implementation (OSDI\u201918)","author":"Chen Tianqi","year":"2018","unstructured":"Tianqi Chen, Thierry Moreau, Ziheng Jiang, Lianmin Zheng, Eddie Yan, Meghan Cowan, Haichen Shen, Leyuan Wang, Yuwei Hu, Luis Ceze, Carlos Guestrin, and Arvind Krishnamurthy. 2018. TVM: An automated end-to-end optimizing compiler for deep learning. In Proceedings of the 13th USENIX Conference on Operating Systems Design and Implementation (OSDI\u201918). USENIX Association, 579\u2013594."},{"key":"e_1_3_2_11_2","first-page":"578","volume-title":"Proceedings of the 13th USENIX Symposium on Operating Systems Design and Implementation (OSDI\u201918)","author":"Chen Tianqi","year":"2018","unstructured":"Tianqi Chen, Thierry Moreau, Ziheng Jiang, Lianmin Zheng, Eddie Yan, Haichen Shen, Meghan Cowan, Leyuan Wang, Yuwei Hu, Luis Ceze, Carlos Guestrin, and Arvind Krishnamurthy. 2018. TVM: An automated end-to-end optimizing compiler for deep learning. In Proceedings of the 13th USENIX Symposium on Operating Systems Design and Implementation (OSDI\u201918). USENIX Association, 578\u2013594. Retrieved from https:\/\/www.usenix.org\/conference\/osdi18\/presentation\/chen"},{"key":"e_1_3_2_12_2","article-title":"Learning to optimize tensor programs","volume":"1805","author":"Chen Tianqi","year":"2018","unstructured":"Tianqi Chen, Lianmin Zheng, Eddie Q. Yan, Ziheng Jiang, Thierry Moreau, Luis Ceze, Carlos Guestrin, and Arvind Krishnamurthy. 2018. Learning to optimize tensor programs. CoRR abs\/1805.08166 (2018).","journal-title":"CoRR"},{"key":"e_1_3_2_13_2","article-title":"cuDNN: Efficient primitives for deep learning","volume":"1410","author":"Chetlur Sharan","year":"2014","unstructured":"Sharan Chetlur, Cliff Woolley, Philippe Vandermersch, Jonathan Cohen, John Tran, Bryan Catanzaro, and Evan Shelhamer. 2014. cuDNN: Efficient primitives for deep learning. CoRR abs\/1410.0759 (2014).","journal-title":"CoRR"},{"key":"e_1_3_2_14_2","doi-asserted-by":"publisher","DOI":"10.1016\/S0167-8191(00)00087-9"},{"key":"e_1_3_2_15_2","volume-title":"High Performance Computing (2nd ed.)","author":"Dowd Kevin","year":"1998","unstructured":"Kevin Dowd and Charles R. Severance. 1998. High Performance Computing (2nd ed.). O\u2019Reilly."},{"issue":"3","key":"e_1_3_2_16_2","first-page":"12:1\u201312:25","article-title":"Anatomy of a high-performance matrix multiplication","volume":"34","author":"Goto Kazushige","year":"2008","unstructured":"Kazushige Goto and Robert A. van de Geijn. 2008. Anatomy of a high-performance matrix multiplication. ACM Trans. Math. Softw. 34, 3 (May 2008), 12:1\u201312:25.","journal-title":"ACM Trans. Math. Softw."},{"key":"e_1_3_2_17_2","first-page":"256","volume-title":"Proceedings of the 7th International Conference on Applied Parallel Computing: State of the Art in Scientific Computing (PARA\u201904)","author":"Gunnels John A.","year":"2004","unstructured":"John A. Gunnels, Fred G. Gustavson, Greg M. Henry, and Robert A. van de Geijn. 2004. A family of high-performance matrix multiplication algorithms. In Proceedings of the 7th International Conference on Applied Parallel Computing: State of the Art in Scientific Computing (PARA\u201904). 256\u2013265."},{"key":"e_1_3_2_18_2","article-title":"Neural architecture search with Bayesian optimisation and optimal transport","volume":"1802","author":"Kandasamy Kirthevasan","year":"2018","unstructured":"Kirthevasan Kandasamy, Willie Neiswanger, Jeff Schneider, Barnab\u00e1s P\u00f3czos, and Eric P. Xing. 2018. Neural architecture search with Bayesian optimisation and optimal transport. CoRR abs\/1802.07191 (2018).","journal-title":"CoRR"},{"key":"e_1_3_2_19_2","doi-asserted-by":"publisher","DOI":"10.1145\/3240765.3240786"},{"key":"e_1_3_2_20_2","article-title":"MLIR: A compiler infrastructure for the end of Moore\u2019s law","volume":"2002","author":"Lattner Chris","year":"2020","unstructured":"Chris Lattner, Jacques A. Pienaar, Mehdi Amini, Uday Bondhugula, River Riddle, Albert Cohen, Tatiana Shpeisman, Andy Davis, Nicolas Vasilache, and Oleksandr Zinenko. 2020. MLIR: A compiler infrastructure for the end of Moore\u2019s law. CoRR abs\/2002.11054 (2020).","journal-title":"CoRR"},{"key":"e_1_3_2_21_2","article-title":"The deep learning compiler: A comprehensive survey","volume":"2002","author":"Li Mingzhen","year":"2020","unstructured":"Mingzhen Li, Yi Liu, Xiaoyan Liu, Qingxiao Sun, Xin You, Hailong Yang, Zhongzhi Luan, and Depei Qian. 2020. The deep learning compiler: A comprehensive survey. CoRR abs\/2002.03794 (2020).","journal-title":"CoRR"},{"issue":"2","key":"e_1_3_2_22_2","first-page":"Article 12","article-title":"Analytical modeling is enough for high-performance BLIS","volume":"43","author":"Low Tze Meng","year":"2016","unstructured":"Tze Meng Low, Francisco D. Igual, Tyler M. Smith, and Enrique S. Quintana-Ort\u00ed. 2016. Analytical modeling is enough for high-performance BLIS. ACM Trans. Math. Softw. 43, 2, Article 12 (Aug. 2016), 18 pages.","journal-title":"ACM Trans. Math. Softw."},{"key":"e_1_3_2_23_2","first-page":"2430","volume-title":"Proceedings of the 34th International Conference on Machine Learning (ICML\u201917) (Proceedings of Machine Learning Research)","volume":"70","author":"Mirhoseini Azalia","year":"2017","unstructured":"Azalia Mirhoseini, Hieu Pham, Quoc V. Le, Benoit Steiner, Rasmus Larsen, Yuefeng Zhou, Naveen Kumar, Mohammad Norouzi, Samy Bengio, and Jeff Dean. 2017. Device placement optimization with reinforcement learning. In Proceedings of the 34th International Conference on Machine Learning (ICML\u201917) (Proceedings of Machine Learning Research), Doina Precup and Yee Whye Teh (Eds.), Vol. 70. PMLR, 2430\u20132439. Retrieved from http:\/\/proceedings.mlr.press\/v70\/mirhoseini17a.html"},{"key":"e_1_3_2_24_2","article-title":"VTA: An open hardware-software stack for deep learning","volume":"1807","author":"Moreau Thierry","year":"2018","unstructured":"Thierry Moreau, Tianqi Chen, Ziheng Jiang, Luis Ceze, Carlos Guestrin, and Arvind Krishnamurthy. 2018. VTA: An open hardware-software stack for deep learning. CoRR abs\/1807.04188 (2018).","journal-title":"CoRR"},{"key":"e_1_3_2_25_2","doi-asserted-by":"publisher","DOI":"10.1145\/2491956.2462176"},{"key":"e_1_3_2_26_2","article-title":"Searching for activation functions","volume":"1710","author":"Ramachandran Prajit","year":"2017","unstructured":"Prajit Ramachandran, Barret Zoph, and Quoc V. Le. 2017. Searching for activation functions. CoRR abs\/1710.05941 (2017).","journal-title":"CoRR"},{"key":"e_1_3_2_27_2","unstructured":"Amit Sabne. 2020. XLA : Compiling Machine Learning for Peak Performance. (2020)."},{"key":"e_1_3_2_28_2","first-page":"1049","volume-title":"Proceedings of the IEEE 28th International Parallel and Distributed Processing Symposium (IPDPS\u201914)","author":"Smith Tyler M.","year":"2014","unstructured":"Tyler M. Smith, Robert van de Geijn, Mikhail Smelyanskiy, Jeff R. Hammond, and Field G. Van Zee. 2014. Anatomy of high-performance many-threaded matrix multiplication. In Proceedings of the IEEE 28th International Parallel and Distributed Processing Symposium (IPDPS\u201914). 1049\u20131059."},{"key":"e_1_3_2_29_2","article-title":"The MOMMS family of matrix multiplication algorithms","volume":"1904","author":"Smith Tyler M.","year":"2019","unstructured":"Tyler M. Smith and Robert A. van de Geijn. 2019. The MOMMS family of matrix multiplication algorithms. CoRR abs\/1904.05717 (2019).","journal-title":"CoRR"},{"key":"e_1_3_2_30_2","doi-asserted-by":"publisher","DOI":"10.1109\/JPROC.2017.2761740"},{"issue":"3","key":"e_1_3_2_31_2","first-page":"14:1\u201314:33","article-title":"BLIS: A framework for rapidly instantiating BLAS functionality","volume":"41","author":"Zee Field G. Van","year":"2015","unstructured":"Field G. Van Zee and Robert A. van de Geijn. 2015. BLIS: A framework for rapidly instantiating BLAS functionality. ACM Trans. Math. Softw. 41, 3 (2015), 14:1\u201314:33.","journal-title":"ACM Trans. Math. Softw."},{"issue":"2","key":"e_1_3_2_32_2","first-page":"Article 12","article-title":"The BLIS framework: Experiments in portability","volume":"42","author":"Zee Field G. Van","year":"2016","unstructured":"Field G. Van Zee and Robert A. van de Geijn. 2016. The BLIS framework: Experiments in portability. ACM Trans. Math. Softw. 42, 2, Article 12 (June 2016), 19 pages.","journal-title":"ACM Trans. Math. Softw."},{"key":"e_1_3_2_33_2","unstructured":"Daan Wierstra Tom Schaul Tobias Glasmachers Yi Sun and J\u00fcrgen Schmidhuber. 2011. Natural Evolution Strategies. (2011). arxiv:stat.ML\/1106.4487"},{"key":"e_1_3_2_34_2","volume-title":"Proceedings of the IEEE 18th International Conference on Parallel and Distributed Systems (ICPADS\u201912)","author":"Xianyi Zhang","year":"2012","unstructured":"Zhang Xianyi, Wang Qian, and Zhang Yunquan. 2012. Model-driven level 3 BLAS performance optimization on Loongson 3A processor. In Proceedings of the IEEE 18th International Conference on Parallel and Distributed Systems (ICPADS\u201912)."},{"issue":"2","key":"e_1_3_2_35_2","article-title":"Is search really necessary to generate high-performance BLAS?","volume":"93","author":"Yotov Kamen","year":"2005","unstructured":"Kamen Yotov, Xiaoming Li, Mar\u00eda Jes\u00fas Garzar\u00e1n, David Padua, Keshav Pingali, and Paul Stodghill. 2005. Is search really necessary to generate high-performance BLAS? Proc. IEEE, Special Iss. \u201cProg. Gen., Optim. Adapt.\u201d 93, 2 (2005).","journal-title":"Proc. IEEE, Special Iss. \u201cProg. Gen., Optim. Adapt.\u201d"},{"key":"e_1_3_2_36_2","article-title":"Compiler-level matrix multiplication optimization for deep learning","volume":"1909","author":"Zhang Huaqing","year":"2019","unstructured":"Huaqing Zhang, Xiaolin Cheng, Hui Zang, and Dae Hoon Park. 2019. Compiler-level matrix multiplication optimization for deep learning. CoRR abs\/1909.10616 (2019).","journal-title":"CoRR"},{"key":"e_1_3_2_37_2","doi-asserted-by":"crossref","DOI":"10.1002\/9780470495094","volume-title":"Parallel Solution of Integral Equation-based EM Problems in the Frequency Domain","author":"Zhang Y.","year":"2009","unstructured":"Y. Zhang. 2009. Parallel Solution of Integral Equation-based EM Problems in the Frequency Domain. IEEE Press."},{"key":"e_1_3_2_38_2","article-title":"Neural architecture search with reinforcement learning","volume":"1611","author":"Zoph Barret","year":"2016","unstructured":"Barret Zoph and Quoc V. Le. 2016. Neural architecture search with reinforcement learning. CoRR abs\/1611.01578 (2016).","journal-title":"CoRR"}],"container-title":["ACM Transactions on Mathematical Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3638532","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3638532","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T00:06:12Z","timestamp":1750291572000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3638532"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,3,16]]},"references-count":37,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2024,3,31]]}},"alternative-id":["10.1145\/3638532"],"URL":"https:\/\/doi.org\/10.1145\/3638532","relation":{},"ISSN":["0098-3500","1557-7295"],"issn-type":[{"value":"0098-3500","type":"print"},{"value":"1557-7295","type":"electronic"}],"subject":[],"published":{"date-parts":[[2024,3,16]]},"assertion":[{"value":"2022-12-20","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2023-12-15","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2024-03-16","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}