Reliable Generation of High-Performance Matrix Algebra
Geoffrey Belter, Elizabeth Jessup, Thomas Nelson, Boyana Norris,, Jeremy G. Siek

TL;DR
This paper introduces BTO, a domain-specific compiler that optimizes matrix algebra sequences to achieve performance close to hand-optimized code, outperforming general-purpose optimizing compilers.
Contribution
The paper presents BTO, a specialized compiler that reliably generates high-performance matrix algebra code through scalable optimization techniques.
Findings
BTO achieves 16% to 39% performance relative to hand-optimized code.
Optimizing compilers often reach only 25% of hand-optimized performance.
BTO's scalable search effectively combines loop fusion, array contraction, and multithreading.
Abstract
Scientific programmers often turn to vendor-tuned Basic Linear Algebra Subprograms (BLAS) to obtain portable high performance. However, many numerical algorithms require several BLAS calls in sequence, and those successive calls result in suboptimal performance. The entire sequence needs to be optimized in concert. Instead of vendor-tuned BLAS, a programmer could start with source code in Fortran or C (e.g., based on the Netlib BLAS) and use a state-of-the-art optimizing compiler. However, our experiments show that optimizing compilers often attain only one-quarter the performance of hand-optimized code. In this paper we present a domain-specific compiler for matrix algebra, the Build to Order BLAS (BTO), that reliably achieves high performance using a scalable search algorithm for choosing the best combination of loop fusion, array contraction, and multithreading for data parallelism.…
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
TopicsParallel Computing and Optimization Techniques · Embedded Systems Design Techniques · Numerical Methods and Algorithms
