The Matrix Chain Algorithm to Compile Linear Algebra Expressions
Henrik Barthels, Paolo Bientinesi

TL;DR
This paper extends the classic matrix chain algorithm to handle complex linear algebra expressions involving various kernels, properties, and cost functions, aiming to automate and optimize the compilation of such expressions.
Contribution
It introduces generalized algorithms for mapping complex linear algebra expressions to computational kernels, addressing practical challenges in compiler automation.
Findings
Developed algorithms for kernel-based expression mapping.
Addressed optimization beyond scalar operation minimization.
Provided solutions for numerical stability and execution time.
Abstract
The matrix chain problem consists in finding the parenthesization of a matrix product that minimizes the number of scalar operations. In practical applications, however, one frequently encounters more complicated scenarios, where expressions involve transposition, inversion, matrices with given properties, and sequences. The computation of such expressions makes use of a set of computational kernels that offer functionality well beyond the simple matrix product. The challenge then shifts from finding an optimal parenthesization to finding an optimal mapping of the input expression to the available kernels. Furthermore, it is often the case that a solution based on the minimization of scalar operations does not result in the optimal solution in terms of execution time, and/or might be numerically unstable. In this paper, we introduce a number of generalizations…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAlgorithms and Data Compression · Blind Source Separation Techniques · Cellular Automata and Applications
