Umeå University's logo

umu.sePublications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Compilation of Generalized Matrix Chains with symbolic sizes
Umeå University, Faculty of Science and Technology, Department of Computing Science.
Umeå University, Faculty of Science and Technology, Department of Computing Science.ORCID iD: 0000-0002-4675-7434
Umeå University, Faculty of Science and Technology, Department of Computing Science.ORCID iD: 0000-0002-4972-7097
2026 (English)In: 2026 IEEE/ACM International Symposium on Code Generation and Optimization (CGO) / [ed] Blackburn, SN; Cohen, A; Jones, TM, Institute of Electrical and Electronics Engineers (IEEE), 2026, p. 466-478Conference paper, Published paper (Refereed)
Abstract [en]

Generalized Matrix Chains (GMCs) are products of matrices where each matrix carries features (e.g., general, symmetric, triangular, positive-definite) and is optionally transposed and/or inverted. GMCs are commonly evaluated via sequences of calls to BLAS and LAPACK kernels. When matrix sizes are known, one can craft a sequence of kernel calls to evaluate a GMC that minimizes some cost, e.g., the number of floating-point operations (FLOPs). Even in these circumstances, high-level languages and libraries, upon which users usually rely, typically perform a suboptimal mapping of the input GMC onto a sequence of kernels. In this work, we go one step beyond and consider matrix sizes to be symbolic (unknown); this changes the nature of the problem since no single sequence of kernel calls is optimal for all possible combinations of matrix sizes. We design and evaluate a code generator for GMCs with symbolic sizes that relies on multi-versioning. At compile-time, when the GMC is known but the sizes are not, code is generated for a few carefully selected sequences of kernel calls. At run-time, when sizes become known, the best generated variant for the matrix sizes at hand is selected and executed. The code generator uses new theoretical results that guarantee that the cost is within a constant factor from optimal for all matrix sizes and an empirical tuning component that further tightens the gap to optimality in practice. In experiments, we found that the increase above optimal in both FLOPs and execution time of the generated code was less than 15% for 95% of the tested chains.

Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers (IEEE), 2026. p. 466-478
Keywords [en]
code generator, compiler, generalized matrix chain, linear algebra, symbolic sizes
National Category
Computer Sciences
Identifiers
URN: urn:nbn:se:umu:diva-255477DOI: 10.1109/CGO68049.2026.11395236ISI: 001739171600036Scopus ID: 2-s2.0-105041771146ISBN: 9798331592882 (electronic)ISBN: 9798331592899 (print)OAI: oai:DiVA.org:umu-255477DiVA, id: diva2:2078393
Conference
24th IEEE/ACM International Symposium on Code Generation and Optimization, CGO 2026, 31 January 2026 - 04 February 2026, Sydney, Australia
Available from: 2026-06-24 Created: 2026-06-24 Last updated: 2026-06-24Bibliographically approved

Open Access in DiVA

No full text in DiVA

Other links

Publisher's full textScopus

Authority records

López Sánchez, FranciscoKarlsson, LarsBientinesi, Paolo

Search in DiVA

By author/editor
López Sánchez, FranciscoKarlsson, LarsBientinesi, Paolo
By organisation
Department of Computing Science
Computer Sciences

Search outside of DiVA

GoogleGoogle Scholar

doi
isbn
urn-nbn

Altmetric score

doi
isbn
urn-nbn
Total: 14 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf