Automatic Generators for a Family of Matrix Multiplication Routines with Apache TVM
dc.contributor.author | Alaejos, Guillermo | |
dc.contributor.author | Castelló, Adrián | |
dc.contributor.author | Alonso-Jordá, Pedro | |
dc.contributor.author | Martínez, Héctor | |
dc.contributor.author | Quintana-Ortí, Enrique S. | |
dc.contributor.author | Igual Peña, Francisco Daniel | |
dc.date.accessioned | 2025-01-21T12:26:18Z | |
dc.date.available | 2025-01-21T12:26:18Z | |
dc.date.issued | 2024-03-16 | |
dc.description.abstract | 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 (gemm). 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 gemm. 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 gemm (1) improves portability, maintainability, and, globally, streamlines the software life cycle; (2) provides 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) features a small memory footprint. | |
dc.description.department | Depto. de Arquitectura de Computadores y Automática | |
dc.description.faculty | Fac. de Informática | |
dc.description.refereed | TRUE | |
dc.description.status | pub | |
dc.identifier.citation | Guillermo Alaejos, Adrián Castelló, Pedro Alonso-Jordá, Francisco D. Igual, Héctor Martínez, and Enrique S. Quintana-Ortí. 2024. Algorithm 1039: Automatic Generators for a Family of Matrix Multiplication Routines with Apache TVM. ACM Trans. Math. Softw. 50, 1, Article 6 (March 2024), 34 pages. https://doi.org/10.1145/3638532 | |
dc.identifier.doi | 10.1145/3638532 | |
dc.identifier.officialurl | https://dl.acm.org/doi/10.1145/3638532 | |
dc.identifier.relatedurl | https://arxiv.org/abs/2310.20347 | |
dc.identifier.uri | https://hdl.handle.net/20.500.14352/115351 | |
dc.issue.number | 1 | |
dc.journal.title | ACM Transactions on Mathematical Software | |
dc.language.iso | eng | |
dc.page.final | 34 | |
dc.page.initial | 1 | |
dc.publisher | Association for Computing Machinery | |
dc.rights | Attribution-NonCommercial-NoDerivatives 4.0 International | en |
dc.rights.accessRights | open access | |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/4.0/ | |
dc.subject.ucm | Software | |
dc.subject.unesco | 1203 Ciencia de Los Ordenadores | |
dc.title | Automatic Generators for a Family of Matrix Multiplication Routines with Apache TVM | |
dc.type | journal article | |
dc.type.hasVersion | AM | |
dc.volume.number | 50 | |
dspace.entity.type | Publication | |
relation.isAuthorOfPublication | e1ed9960-37d5-4817-8e5c-4e0e392b4d66 | |
relation.isAuthorOfPublication.latestForDiscovery | e1ed9960-37d5-4817-8e5c-4e0e392b4d66 |
Download
Original bundle
1 - 1 of 1