{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,12,15]],"date-time":"2025-12-15T12:04:42Z","timestamp":1765800282067,"version":"3.48.0"},"reference-count":37,"publisher":"Springer Science and Business Media LLC","issue":"12","license":[{"start":{"date-parts":[[2025,9,15]],"date-time":"2025-09-15T00:00:00Z","timestamp":1757894400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2025,9,15]],"date-time":"2025-09-15T00:00:00Z","timestamp":1757894400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"name":"Conserjer\u00eda de Transformaci\u00f3n Econ\u00f3mica, Industria, Conocimiento y Universidades de la Junta de Andaluc\u00eda"},{"DOI":"10.13039\/100014440","name":"Ministerio de Ciencia, Innovaci\u00f3n y Universidades","doi-asserted-by":"publisher","award":["RYC2021-033973"],"award-info":[{"award-number":["RYC2021-033973"]}],"id":[{"id":"10.13039\/100014440","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100014440","name":"Ministerio de Ciencia, Innovaci\u00f3n y Universidades","doi-asserted-by":"publisher","award":["PID2021-126576NB-I00"],"award-info":[{"award-number":["PID2021-126576NB-I00"]}],"id":[{"id":"10.13039\/100014440","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100014440","name":"Ministerio de Ciencia, Innovaci\u00f3n y Universidades","doi-asserted-by":"publisher","award":["PID2019-107255GB"],"award-info":[{"award-number":["PID2019-107255GB"]}],"id":[{"id":"10.13039\/100014440","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100014440","name":"Ministerio de Ciencia, Innovaci\u00f3n y Universidades","doi-asserted-by":"publisher","award":["PID2021-123627OB-C52"],"award-info":[{"award-number":["PID2021-123627OB-C52"]}],"id":[{"id":"10.13039\/100014440","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100014440","name":"Ministerio de Ciencia, Innovaci\u00f3n y Universidades","doi-asserted-by":"publisher","award":["PID2020-113656RB-C22"],"award-info":[{"award-number":["PID2020-113656RB-C22"]}],"id":[{"id":"10.13039\/100014440","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100002809","name":"Generalitat de Catalunya","doi-asserted-by":"publisher","award":["2021- SGR-01007"],"award-info":[{"award-number":["2021- SGR-01007"]}],"id":[{"id":"10.13039\/501100002809","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100004834","name":"Universitat Jaume I","doi-asserted-by":"crossref","id":[{"id":"10.13039\/501100004834","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Cluster Comput"],"published-print":{"date-parts":[[2025,11]]},"abstract":"<jats:title>Abstract<\/jats:title>\n                  <jats:p>This paper advocates for a careful customization of the special general matrix multiplication () kernels that are invoked from blocked routines for several relevant matrix factorizations in LAPACK, in order to improve their performance on modern multicore processors with hierarchical cache memories. To achieve this, we leverage a refined analytical model to dynamically tune the cache configuration parameters of  for these kernels, taking into account the matrix operands\u2019 dimensions, in order to improve cache occupation. In addition, toward the same goal, we accommodate a flexible development of architecture-specific micro-kernels for  that allows us to select the option that, depending on the operands\u2019 dimensions, ameliorates cache utilization. Our experiments for the LU and QR factorizations on two platforms, equipped with ARM (NVIDIA Carmel) and x86 (AMD EPYC) multi-core processors, demonstrate the benefits of this approach in terms of a better cache utilization and, in general, higher performance. Moreover, they also reveal the delicate balance between optimizing for multi-threaded parallelism versus cache usage as well as the positive effects of software prefetching.<\/jats:p>","DOI":"10.1007\/s10586-025-05426-6","type":"journal-article","created":{"date-parts":[[2025,9,15]],"date-time":"2025-09-15T19:27:54Z","timestamp":1757964474000},"update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["Cache-aware optimization of matrix multiplication and matrix factorizations on multicore processors"],"prefix":"10.1007","volume":"28","author":[{"given":"H\u00e9ctor","family":"Mart\u00ednez","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Sandra","family":"Catal\u00e1n","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Francisco D.","family":"Igual","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jos\u00e9 R.","family":"Herrero","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Rafael","family":"Rodr\u00edguez-S\u00e1nchez","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":[[2025,9,15]]},"reference":[{"key":"5426_CR1","doi-asserted-by":"publisher","DOI":"10.1137\/1.9780898719604","volume-title":"LAPACK Users\u2019 Guide","author":"E Anderson","year":"1999","unstructured":"Anderson, E.: LAPACK Users\u2019 Guide, 3rd edn. Society for Industrial and Applied Mathematics, Philadelphia (1999)","edition":"3"},{"issue":"1","key":"5426_CR2","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/77626.79170","volume":"16","author":"JJ Dongarra","year":"1990","unstructured":"Dongarra, J.J., Du Croz, J., Hammarling, S., Duff, I.: A set of level 3 basic linear algebra subprograms. ACM Trans. Math. Softw. 16(1), 1\u201317 (1990). https:\/\/doi.org\/10.1145\/77626.79170","journal-title":"ACM Trans. Math. Softw."},{"issue":"3","key":"5426_CR3","doi-asserted-by":"publisher","first-page":"268","DOI":"10.1145\/292395.292412","volume":"24","author":"B K\u00e5gstr\u00f6m","year":"1998","unstructured":"K\u00e5gstr\u00f6m, B., Ling, P., Loan, C.: GEMM-based level 3 BLAS: high-performance model implementations and performance evaluation benchmark. ACM Trans. Math. Softw. 24(3), 268\u2013302 (1998). https:\/\/doi.org\/10.1145\/292395.292412","journal-title":"ACM Trans. Math. Softw."},{"issue":"1","key":"5426_CR4","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/1377603.1377607","volume":"35","author":"K Goto","year":"2008","unstructured":"Goto, K., Geijn, R.: High-performance implementation of the level-3 BLAS. ACM Trans. Math. Softw. 35(1), 1\u201314 (2008). https:\/\/doi.org\/10.1145\/1377603.1377607","journal-title":"ACM Trans. Math. Softw."},{"issue":"3","key":"5426_CR5","doi-asserted-by":"publisher","first-page":"12","DOI":"10.1145\/1356052.1356053","volume":"34","author":"K Goto","year":"2008","unstructured":"Goto, K., Geijn, R.A.: Anatomy of a high-performance matrix multiplication. ACM Trans. Math. Softw. 34(3), 12\u201311225 (2008). https:\/\/doi.org\/10.1145\/1356052.1356053","journal-title":"ACM Trans. Math. Softw."},{"issue":"3","key":"5426_CR6","doi-asserted-by":"crossref","first-page":"14","DOI":"10.1145\/2764454","volume":"41","author":"FG Van Zee","year":"2015","unstructured":"Van Zee, F.G., van de Geijn, R.A.: BLIS: a framework for rapidly instantiating BLAS functionality. ACM Trans. Math. Softw. 41(3), 14\u201311433 (2015)","journal-title":"ACM Trans. Math. Softw."},{"key":"5426_CR7","unstructured":"OpenBLAS. http:\/\/xianyi.github.com\/OpenBLAS\/ (2012)"},{"issue":"1","key":"5426_CR8","doi-asserted-by":"publisher","first-page":"20","DOI":"10.1145\/216585.216588","volume":"23","author":"WA Wulf","year":"1995","unstructured":"Wulf, W.A., McKee, S.A.: Hitting the memory wall: implications of the obvious. SIGARCH Comput. Archit. News 23(1), 20\u201324 (1995). https:\/\/doi.org\/10.1145\/216585.216588","journal-title":"SIGARCH Comput. Archit. News"},{"key":"5426_CR9","doi-asserted-by":"publisher","unstructured":"McKee, S.A., Wisniewski, R.W.: In: Padua, D. (ed.) Memory Wall, pp. 1110\u20131116. Springer, Boston (2011). https:\/\/doi.org\/10.1007\/978-0-387-09766-4_234","DOI":"10.1007\/978-0-387-09766-4_234"},{"key":"5426_CR10","doi-asserted-by":"publisher","DOI":"10.1007\/s11227-022-05003-3","author":"G Alaejos","year":"2023","unstructured":"Alaejos, G., et al.: Micro-kernels for portable and efficient matrix multiplication in deep learning. J Supercomput (2023). https:\/\/doi.org\/10.1007\/s11227-022-05003-3","journal-title":"J Supercomput"},{"key":"5426_CR11","unstructured":"AMD: AMD Optimizing CPU Libraries (AOCL). https:\/\/www.amd.com\/en\/developer\/aocl.html (2024)"},{"key":"5426_CR12","volume-title":"Matrix Computations","author":"GH Golub","year":"1996","unstructured":"Golub, G.H., Van Loan, C.F.: Matrix Computations, 3rd edn. The Johns Hopkins University Press, Baltimore (1996)","edition":"3"},{"key":"5426_CR13","unstructured":"ARM: ARM Performance Libraries (Free ArmPL). https:\/\/developer.arm.com\/downloads\/-\/arm-performance-libraries (2024)"},{"key":"5426_CR14","unstructured":"Intel: Intel oneAPI Math Kernel Library (oneMKL). https:\/\/www.intel.com\/content\/www\/us\/en\/developer\/tools\/oneapi\/onemkl.html (2024)"},{"key":"5426_CR15","unstructured":"Smith, T.M., Geijn, R.A.: The MOMMS family of matrix multiplication algorithms. CoRR abs\/1904.05717 (2019) arXiv:1904.05717"},{"issue":"2","key":"5426_CR16","doi-asserted-by":"publisher","first-page":"12","DOI":"10.1145\/2925987","volume":"43","author":"TM Low","year":"2016","unstructured":"Low, T.M., Igual, F.D., Smith, T.M., Quintana-Ort\u00ed, E.S.: Analytical modeling is enough for high-performance BLIS. ACM Trans. Math. Softw. 43(2), 12\u201311218 (2016). https:\/\/doi.org\/10.1145\/2925987","journal-title":"ACM Trans. Math. Softw."},{"key":"5426_CR17","volume-title":"Computer Architecture: A Quantitative Approach","author":"JL Hennessy","year":"2017","unstructured":"Hennessy, J.L., Patterson, D.A.: Computer Architecture: A Quantitative Approach, 5th edn. Morgan Kaufmann Pub, San Francisco (2017)","edition":"5"},{"key":"5426_CR18","doi-asserted-by":"publisher","DOI":"10.1145\/2755561","author":"FG Van Zee","year":"2016","unstructured":"Van Zee, F.G., et al.: The BLIS framework: experiments in portability. ACM Trans. Math. Softw. (2016). https:\/\/doi.org\/10.1145\/2755561","journal-title":"ACM Trans. Math. Softw."},{"key":"5426_CR19","doi-asserted-by":"publisher","unstructured":"Smith, T.M.: Anatomy of high-performance many-threaded matrix multiplication. In: IPDPS \u201914: Proc. Int. Parallel and Distributed Processing Symp., pp. 1049\u20131059 (2014). https:\/\/doi.org\/10.1109\/IPDPS.2014.110","DOI":"10.1109\/IPDPS.2014.110"},{"issue":"3","key":"5426_CR20","doi-asserted-by":"publisher","first-page":"1037","DOI":"10.1007\/s10586-016-0611-8","volume":"19","author":"S Catal\u00e1n","year":"2016","unstructured":"Catal\u00e1n, S.: Architecture-aware configuration and scheduling of matrix multiplication on asymmetric multicore processors. Clust. Comput. 19(3), 1037\u20131051 (2016). https:\/\/doi.org\/10.1007\/s10586-016-0611-8","journal-title":"Clust. Comput."},{"key":"5426_CR21","unstructured":"Dowd, K., Severance, C.R.: High performance computing, 2nd edn. O\u2019Reilly (1998)"},{"key":"5426_CR22","unstructured":"Learn the architecture \u2013 Neon programmers\u2019 guide. https:\/\/developer.arm.com\/documentation\/den0018\/a\/NEON-Intrinsics. Last access: April 2023 (2023)"},{"key":"5426_CR23","doi-asserted-by":"publisher","unstructured":"Heinecke, A., Henry, G., Hutchinson, M., Pabst, H.: Libxsmm: Accelerating small matrix multiplications by runtime code generation. In: SC \u201916: Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, pp. 981\u2013991 (2016). https:\/\/doi.org\/10.1109\/SC.2016.83","DOI":"10.1109\/SC.2016.83"},{"key":"5426_CR24","doi-asserted-by":"publisher","unstructured":"Yang, W., Fang, J., Dong, D., Su, X., Wang, Z.: Libshalom: optimizing small and irregular-shaped matrix multiplications on armv8 multi-cores. In: Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis. SC \u201921. Association for Computing Machinery, New York (2021). https:\/\/doi.org\/10.1145\/3458817.3476217","DOI":"10.1145\/3458817.3476217"},{"key":"5426_CR25","doi-asserted-by":"publisher","DOI":"10.1145\/3210754","author":"G Frison","year":"2018","unstructured":"Frison, G., Kouzoupis, D., Sartor, T., Zanelli, A., Diehl, M.: Blasfeo: basic linear algebra subroutines for embedded optimization. ACM Trans. Math. Softw. (2018). https:\/\/doi.org\/10.1145\/3210754","journal-title":"ACM Trans. Math. Softw."},{"key":"5426_CR26","unstructured":"Chen, T., Moreau, T., Jiang, Z., Shen, H., Yan, E.Q., Wang, L., Hu, Y., Ceze, L., Guestrin, C., Krishnamurthy, A.: TVM: end-to-end optimization stack for deep learning. CoRR arXiv:abs\/1802.04799 (2018)"},{"key":"5426_CR27","doi-asserted-by":"publisher","unstructured":"Ikarashi, Y., Bernstein, G.L., Reinking, A., Genc, H., Ragan-Kelley, J.: Exocompilation for productive programming of hardware accelerators. In: Proceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation. PLDI 2022, pp. 703\u2013718. Association for Computing Machinery, New York (2022). https:\/\/doi.org\/10.1145\/3519939.3523446","DOI":"10.1145\/3519939.3523446"},{"key":"5426_CR28","doi-asserted-by":"publisher","DOI":"10.1145\/3638532","author":"G Alaejos","year":"2024","unstructured":"Alaejos, G., Castell\u00f3, A., Alonso-Jord\u00e1, P., Igual, F.D., Mart\u00ednez, H., Quintana-Ort\u00ed, E.S.: Algorithm 1039: automatic generators for a family of matrix multiplication routines with apache tvm. ACM Trans. Math. Softw. (2024). https:\/\/doi.org\/10.1145\/3638532","journal-title":"ACM Trans. Math. Softw."},{"key":"5426_CR29","doi-asserted-by":"publisher","unstructured":"Castell\u00f3, A., Bellavita, J., Dinh, G., Ikarashi, Y., Mart\u00ednez, H.: Tackling the matrix multiplication micro-kernel generation with exo. In: 2024 IEEE\/ACM International Symposium on Code Generation and Optimization (CGO), pp. 182\u2013193 (2024). https:\/\/doi.org\/10.1109\/CGO57630.2024.10444883","DOI":"10.1109\/CGO57630.2024.10444883"},{"issue":"10","key":"5426_CR30","doi-asserted-by":"publisher","first-page":"13873","DOI":"10.1007\/S11227-024-05955-8","volume":"80","author":"G Alaejos","year":"2024","unstructured":"Alaejos, G., Mart\u00ednez, H., Castell\u00f3, A., Dolz, M.F., Igual, F.D., Alonso-Jord\u00e1, P., Quintana-Ort\u00ed, E.S.: Automatic generation of ARM NEON micro-kernels for matrix multiplication. J. Supercomput. 80(10), 13873\u201313899 (2024). https:\/\/doi.org\/10.1007\/S11227-024-05955-8","journal-title":"J. Supercomput."},{"key":"5426_CR31","unstructured":"Chen, T., Zheng, L., Yan, E.Q., Jiang, Z., Moreau, T., Ceze, L., Guestrin, C., Krishnamurthy, A.: Learning to optimize tensor programs. CoRR arXiv:abs\/1805.08166 (2018)"},{"key":"5426_CR32","unstructured":"Zheng, L., Jia, C., Sun, M., Wu, Z., Yu, C.H., Haj-Ali, A., Wang, Y., Yang, J., Zhuo, D., Sen, K.: Ansor: Generating $$\\{$$High-Performance$$\\}$$ tensor programs for deep learning. In: 14th USENIX Symposium on Operating Systems Design and Implementation (OSDI 20), pp. 863\u2013879 (2020)"},{"key":"5426_CR33","doi-asserted-by":"publisher","unstructured":"Gibson, P., Cano, J.: Transfer-tuning: Reusing auto-schedules for efficient tensor program code generation. Parallel Architectures and Compilation Techniques - Conference Proceedings, PACT, pp. 28\u201339 (2022). https:\/\/doi.org\/10.1145\/3559009.3569682","DOI":"10.1145\/3559009.3569682"},{"key":"5426_CR34","doi-asserted-by":"publisher","unstructured":"Tollenaere, N., Iooss, G., Pouget, S., Brunie, H., Guillon, C., Cohen, A., Sadayappan, P., Rastello, F.: Autotuning convolutions is easier than you think. ACM Transactions on Architecture and Code Optimization 20 (2023) https:\/\/doi.org\/10.1145\/3570641\/ASSET\/F8A54712-AAA7-4F7B-98B2-E13C7991BBF0\/ASSETS\/GRAPHIC\/TACO-2022-55-F13.JPG","DOI":"10.1145\/3570641\/ASSET\/F8A54712-AAA7-4F7B-98B2-E13C7991BBF0\/ASSETS\/GRAPHIC\/TACO-2022-55-F13.JPG"},{"key":"5426_CR35","doi-asserted-by":"crossref","unstructured":"Whaley, R.C., Dongarra, J.: Automatically tuned linear algebra software. In: SuperComputing 1998: High Performance Networking and Computing (1998)","DOI":"10.1109\/SC.1998.10004"},{"key":"5426_CR36","doi-asserted-by":"publisher","unstructured":"Castell\u00f3, A., Mart\u00ednez, H., Catal\u00e1n, S., Igual, F., Quintana-Ort\u00ed., E.S.: Experience-guided, mixed-precision matrix multiplication with apache tvm for arm processors. The Journal of Supercomputing (2024) https:\/\/doi.org\/10.21203\/rs.3.rs-5017241\/v1. [Preprint available at Research Square]","DOI":"10.21203\/rs.3.rs-5017241\/v1"},{"key":"5426_CR37","unstructured":"Introducing the new Packed APIs for GEMM \u2014 intel.com. https:\/\/www.intel.com\/content\/www\/us\/en\/developer\/articles\/technical\/introducing-the-new-packed-apis-for-gemm.html. Accessed 08 Oct 2024"}],"container-title":["Cluster Computing"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10586-025-05426-6.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s10586-025-05426-6\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s10586-025-05426-6.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,12,15]],"date-time":"2025-12-15T12:02:04Z","timestamp":1765800124000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s10586-025-05426-6"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,9,15]]},"references-count":37,"journal-issue":{"issue":"12","published-print":{"date-parts":[[2025,11]]}},"alternative-id":["5426"],"URL":"https:\/\/doi.org\/10.1007\/s10586-025-05426-6","relation":{},"ISSN":["1386-7857","1573-7543"],"issn-type":[{"type":"print","value":"1386-7857"},{"type":"electronic","value":"1573-7543"}],"subject":[],"published":{"date-parts":[[2025,9,15]]},"assertion":[{"value":"16 October 2024","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"13 March 2025","order":2,"name":"revised","label":"Revised","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"2 May 2025","order":3,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"15 September 2025","order":4,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}},{"order":1,"name":"Ethics","group":{"name":"EthicsHeading","label":"Declarations"}},{"value":"The authors have not disclosed any competing interests.","order":2,"name":"Ethics","group":{"name":"EthicsHeading","label":"Competing interests"}}],"article-number":"779"}}