Automatic Generation of Efficient Linear Algebra Programs
Abstract
The level of abstraction at which application experts reason about linear algebra computations and the level of abstraction used by developers of high-performance numerical linear algebra libraries do not match. The former is conveniently captured by high-level languages and libraries such as Matlab and Eigen, while the latter expresses the kernels included in the BLAS and LAPACK libraries. Unfortunately, the translation from a high-level computation to an efficient sequence of kernels is a task, far from trivial, that requires extensive knowledge of both linear algebra and high-performance computing. Internally, almost all high-level languages and libraries use efficient kernels; however, the translation algorithms are too simplistic and thus lead to a suboptimal use of said kernels, with significant performance losses. In order to both achieve the productivity that comes with high-level languages, and make use of the efficiency of low level kernels, we are developing Linnea, a code generator for linear algebra problems. As input, Linnea takes a high-level description of a linear algebra problem and produces as output an efficient sequence of calls to high-performance kernels. In 25 application problems, the code generated by Linnea always outperforms Matlab, Julia, Eigen and Armadillo, with speedups up to and exceeding 10×.
Authors 1
-
Christos Psarras Aachen
RWTH Aachen University · Aachen Institute for Advanced Study in Computational Engineering Science
Affiliation as printed
AICES, RWTH Aachen University, Aachen, Germany
Cited by 7 stored of 7
7 results
No patents citing this paper on Lens.org (checked 2026-10-06).
References 31
-
W4229666556details pending0citations
-
W1665019326details pending0citations
-
W1887504389details pending0citations
-
W1938177223details pending0citations
-
W2006849607details pending0citations
-
W2047656763details pending0citations
-
W2159559515details pending0citations
-
W2182504964details pending0citations
-
W2295492468details pending0citations
-
W2793306607details pending0citations
-
W1973305402details pending0citations
-
W2024598204details pending0citations
-
W2041235353details pending0citations
-
W2057455870details pending0citations
-
W2070053315details pending0citations