Affiliation:
1. AICES, RWTH Aachen University, Germany
2. Umeå Universitet, Umeå, Sweden
Abstract
The translation of linear algebra computations into efficient sequences of library calls is a non-trivial task that requires expertise in both linear algebra and high-performance computing. Almost all high-level languages and libraries for matrix computations (e.g., Matlab, Eigen) internally use optimized kernels such as those provided by BLAS and LAPACK; however, their translation algorithms are often too simplistic and thus lead to a suboptimal use of said kernels, resulting in significant performance losses. To combine the productivity offered by high-level languages, and the performance 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; as output, it returns an efficient sequence of calls to high-performance kernels. Linnea uses a custom best-first search algorithm to find a first solution in less than a second, and increasingly better solutions when given more time. In 125 test problems, the code generated by Linnea almost always outperforms Matlab, Julia, Eigen, and Armadillo, with speedups up to and exceeding 10×.
Funder
Deutsche Forschungsgemeinschaft
Publisher
Association for Computing Machinery (ACM)
Subject
Applied Mathematics,Software
Cited by
8 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Towards Structured Algebraic Programming;Proceedings of the 9th ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming;2023-06-06
2. Compiling Tensor Expressions into Einsum;Computational Science – ICCS 2023;2023
3. A Test for FLOPs as a Discriminant for Linear Algebra Algorithms;2022 IEEE 34th International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD);2022-11
4. The Linear Algebra Mapping Problem. Current State of Linear Algebra Languages and Libraries;ACM Transactions on Mathematical Software;2022-09-10
5. FLOPs as a Discriminant for Dense Linear Algebra Algorithms;Proceedings of the 51st International Conference on Parallel Processing;2022-08-29