{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,18]],"date-time":"2026-05-18T20:27:16Z","timestamp":1779136036700,"version":"3.51.4"},"reference-count":17,"publisher":"Springer Science and Business Media LLC","issue":"7","license":[{"start":{"date-parts":[[2022,12,14]],"date-time":"2022-12-14T00:00:00Z","timestamp":1670976000000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2022,12,14]],"date-time":"2022-12-14T00:00:00Z","timestamp":1670976000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"DOI":"10.13039\/501100004837","name":"Ministerio de Ciencia e Innovaci\u00f3n","doi-asserted-by":"publisher","award":["RTI2018-093684-B-I00"],"award-info":[{"award-number":["RTI2018-093684-B-I00"]}],"id":[{"id":"10.13039\/501100004837","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100004837","name":"Ministerio de Ciencia e Innovaci\u00f3n","doi-asserted-by":"publisher","award":["FJC2019-039222-I"],"award-info":[{"award-number":["FJC2019-039222-I"]}],"id":[{"id":"10.13039\/501100004837","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100004837","name":"Ministerio de Ciencia e Innovaci\u00f3n","doi-asserted-by":"publisher","award":["PID2020-113656RB-C22"],"award-info":[{"award-number":["PID2020-113656RB-C22"]}],"id":[{"id":"10.13039\/501100004837","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100004837","name":"Ministerio de Ciencia e Innovaci\u00f3n","doi-asserted-by":"publisher","award":["PID2021-126576NB-I00"],"award-info":[{"award-number":["PID2021-126576NB-I00"]}],"id":[{"id":"10.13039\/501100004837","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100020230","name":"Consejer\u00eda de Transformaci\u00f3n Econ\u00f3mica, Industria, Conocimiento y Universidades de la Junta de Andaluc\u00eda","doi-asserted-by":"crossref","id":[{"id":"10.13039\/100020230","id-type":"DOI","asserted-by":"crossref"}]},{"DOI":"10.13039\/501100000780","name":"European Comission","doi-asserted-by":"crossref","award":["PR65\/19-22445"],"award-info":[{"award-number":["PR65\/19-22445"]}],"id":[{"id":"10.13039\/501100000780","id-type":"DOI","asserted-by":"crossref"}]},{"DOI":"10.13039\/100012818","name":"Comunidad de Madrid","doi-asserted-by":"publisher","award":["S2018\/TCS-4423"],"award-info":[{"award-number":["S2018\/TCS-4423"]}],"id":[{"id":"10.13039\/100012818","id-type":"DOI","asserted-by":"publisher"}]},{"name":"Universidad Polit\u00e8cnica de Val\u00e8ncia"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["J Supercomput"],"published-print":{"date-parts":[[2023,5]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>We provide a practical demonstration that it is possible to systematically generate a variety of high-performance micro-kernels for the general matrix multiplication (<jats:sc>gemm<\/jats:sc>) via generic templates which can be easily customized to different processor architectures and micro-kernel dimensions. These generic templates employ vector intrinsics to exploit the SIMD (single instruction, multiple data) units in current general-purpose processors and, for the particular type of <jats:sc>gemm<\/jats:sc> problems encountered in deep learning, deliver a floating-point throughput rate on par with or even higher than that obtained with conventional, carefully tuned implementations of <jats:sc>gemm<\/jats:sc> in current linear algebra libraries (e.g., BLIS, AMD AOCL, ARMPL). Our work exposes the structure of the template-based micro-kernels for ARM Neon (128-bit SIMD), ARM SVE (variable-length SIMD) and Intel AVX512 (512-bit SIMD), showing considerable performance for an NVIDIA Carmel processor (ARM Neon), a Fujitsu A64FX processor (ARM SVE) and on an AMD EPYC 7282 processor (256-bit SIMD).\n<\/jats:p>","DOI":"10.1007\/s11227-022-05003-3","type":"journal-article","created":{"date-parts":[[2022,12,14]],"date-time":"2022-12-14T17:02:46Z","timestamp":1671037366000},"page":"8124-8147","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":18,"title":["Micro-kernels for portable and efficient matrix multiplication in deep learning"],"prefix":"10.1007","volume":"79","author":[{"given":"Guillermo","family":"Alaejos","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Adri\u00e1n","family":"Castell\u00f3","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"H\u00e9ctor","family":"Mart\u00ednez","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Pedro","family":"Alonso-Jord\u00e1","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Francisco D.","family":"Igual","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Enrique S.","family":"Quintana-Ort\u00ed","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2022,12,14]]},"reference":[{"issue":"1","key":"5003_CR1","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/77626.79170","volume":"16","author":"JJ Dongarra","year":"1990","unstructured":"Dongarra JJ, Du Croz J, Hammarling S, Duff I (1990) A set of level 3 basic linear algebra subprograms. ACM Trans Math Softw 16(1):1\u201317","journal-title":"ACM Trans Math Softw"},{"issue":"3","key":"5003_CR2","doi-asserted-by":"publisher","first-page":"12:1","DOI":"10.1145\/1356052.1356053","volume":"34","author":"K Goto","year":"2008","unstructured":"Goto K, van de Geijn RA (2008) Anatomy of a high-performance matrix multiplication. ACM Trans Math Softw 34(3):12:1-12:25","journal-title":"ACM Trans Math Softw"},{"issue":"3","key":"5003_CR3","doi-asserted-by":"crossref","first-page":"14:1","DOI":"10.1145\/2764454","volume":"41","author":"FG Van Zee","year":"2015","unstructured":"Van Zee FG, van de Geijn RA (2015) BLIS: a framework for rapidly instantiating BLAS functionality. ACM Trans Math Softw 41(3):14:1-14:33","journal-title":"ACM Trans Math Softw"},{"key":"5003_CR4","doi-asserted-by":"crossref","unstructured":"Xianyi Z, Qian W, Yunquan Z (2012) Model-driven level 3 BLAS performance optimization on Loongson 3A processor. In: 2012 IEEE 18th International Conference on Parallel and Distributed Systems (ICPADS)","DOI":"10.1109\/ICPADS.2012.97"},{"key":"5003_CR5","unstructured":"Smith TM, van\u00a0de Geijn RA (2019) The MOMMS family of matrix multiplication algorithms. CoRR, vol. abs\/1904.05717. [Online]. Available: http:\/\/arxiv.org\/abs\/1904.05717"},{"key":"5003_CR6","doi-asserted-by":"crossref","unstructured":"Gunnels JA, Gustavson FG, Henry GM, van\u00a0de Geijn RA (2004) A family of high-performance matrix multiplication algorithms. In: Proc. 7th Int. Conf. on Applied Parallel Computing: State of the Art in Scientific Computing, ser. PARA\u201904, pp 256-265","DOI":"10.1007\/11558958_30"},{"key":"5003_CR7","doi-asserted-by":"crossref","unstructured":"Castell\u00f3 A, Igual FD, Quintana-Ort\u00ed ES (2022) Anatomy of the BLIS family of algorithms for matrix multiplication. In: 2022 30th Euromicro International Conference on Parallel, Distributed and Network-based Processing (PDP), pp 92\u201399","DOI":"10.1109\/PDP55904.2022.00023"},{"key":"5003_CR8","unstructured":"Chellapilla K, Puri S, Simard P (2006) High performance convolutional neural networks for document processing. In: International Workshop on Frontiers in Handwriting Recognition"},{"issue":"C","key":"5003_CR9","doi-asserted-by":"publisher","first-page":"240","DOI":"10.1016\/j.jpdc.2022.05.009","volume":"167","author":"S Barrachina","year":"2022","unstructured":"Barrachina S, Dolz MF, San Juan P, Quintana-Ort\u00ed ES (2022) Efficient and portable GEMM-based convolution operators for deep neural network training on multicore processors. J Parallel Distrib Comput 167(C):240\u2013254","journal-title":"J Parallel Distrib Comput"},{"issue":"2","key":"5003_CR10","first-page":"12:1","volume":"43","author":"TM Low","year":"2016","unstructured":"Low TM, Igual FD, Smith TM, Quintana-Ort\u00ed ES (2016) Analytical modeling is enough for high-performance BLIS. ACM Trans Math Softw 43(2):12:1-12:18","journal-title":"ACM Trans Math Softw"},{"issue":"4","key":"5003_CR11","doi-asserted-by":"publisher","first-page":"65","DOI":"10.1145\/1498765.1498785","volume":"52","author":"S Williams","year":"2009","unstructured":"Williams S, Waterman A, Patterson D (2009) Roofline: an insightful visual performance model for multicore architectures. Commun ACM 52(4):65\u201376","journal-title":"Commun ACM"},{"key":"5003_CR12","unstructured":"Dowd K, Severance CR (1998) High performance computing, 2nd\u00a0ed. O\u2019Reilly"},{"issue":"2","key":"5003_CR13","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/1326548.1326552","volume":"42","author":"FGV Zee","year":"2016","unstructured":"Zee FGV, Smith TM, Marker B, Low TM, Geijn RAVD, Igual FD, Smelyanskiy M, Zhang X, Kistler M, Austel V, Gunnels JA, Killough L (2016) The BLIS framework: experiments in portability. ACM Trans Math Softw 42(2):1\u201319","journal-title":"ACM Trans Math Softw"},{"key":"5003_CR14","doi-asserted-by":"crossref","unstructured":"Smith TM, van\u00a0de Geijn R, Smelyanskiy M, Hammond JR, Zee FGV (2014) Anatomy of high-performance many-threaded matrix multiplication. In: Proc. IEEE 28th Int. Parallel and Distributed Processing Symp. ser. IPDPS\u201914, pp 1049\u20131059","DOI":"10.1109\/IPDPS.2014.110"},{"key":"5003_CR15","doi-asserted-by":"crossref","unstructured":"He K, Zhang X, Ren S, Sun J (2016) Deep residual learning for image recognition. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp 770\u2013778","DOI":"10.1109\/CVPR.2016.90"},{"key":"5003_CR16","unstructured":"Simonyan K, Zisserman A (2014) Very deep convolutional networks for large-scale image recognition, arXiv preprint arXiv:1409.1556"},{"key":"5003_CR17","unstructured":"Szegedy C, et\u00a0al. (2014) Going deeper with convolutions, CoRR, vol. abs\/1409.4842, [Online]. Available: http:\/\/arxiv.org\/abs\/1409.4842"}],"container-title":["The Journal of Supercomputing"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s11227-022-05003-3.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s11227-022-05003-3\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s11227-022-05003-3.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,3,23]],"date-time":"2023-03-23T09:23:50Z","timestamp":1679563430000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s11227-022-05003-3"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,12,14]]},"references-count":17,"journal-issue":{"issue":"7","published-print":{"date-parts":[[2023,5]]}},"alternative-id":["5003"],"URL":"https:\/\/doi.org\/10.1007\/s11227-022-05003-3","relation":{},"ISSN":["0920-8542","1573-0484"],"issn-type":[{"value":"0920-8542","type":"print"},{"value":"1573-0484","type":"electronic"}],"subject":[],"published":{"date-parts":[[2022,12,14]]},"assertion":[{"value":"4 December 2022","order":1,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"14 December 2022","order":2,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}},{"order":1,"name":"Ethics","group":{"name":"EthicsHeading","label":"Declarations"}},{"value":"The authors declare that they have no competing interests.","order":2,"name":"Ethics","group":{"name":"EthicsHeading","label":"Conflict of interest"}}]}}