A Test for FLOPs as a Discriminant for Linear Algebra Algorithms
Aravind Sankaran, Paolo Bientinesi

TL;DR
This paper proposes a methodology to evaluate whether FLOPs can reliably discriminate between linear algebra algorithms based on their performance, highlighting cases where FLOPs are insufficient for optimal algorithm selection.
Contribution
The work introduces a ranking-based methodology to test FLOPs as a performance discriminant for linear algebra algorithms, identifying anomalies where FLOPs do not predict execution time.
Findings
FLOPs are sometimes unreliable as a performance indicator.
The methodology can classify algorithms into performance classes.
Anomalies reveal cases where FLOPs do not correlate with execution time.
Abstract
Linear algebra expressions, which play a central role in countless scientific computations, are often computed via a sequence of calls to existing libraries of building blocks (such as those provided by BLAS and LAPACK). A sequence identifies a computing strategy, i.e., an algorithm, and normally for one linear algebra expression many alternative algorithms exist. Although mathematically equivalent, those algorithms might exhibit significant differences in terms of performance. Several high-level languages and tools for matrix computations such as Julia, Armadillo, Linnea, etc., make algorithmic choices by minimizing the number of Floating Point Operations (FLOPs). However, there can be several algorithms that share the same (or have nearly identical) number of FLOPs; in many cases, these algorithms exhibit execution times which are statistically equivalent and one could arbitrarily…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsNumerical Methods and Algorithms · Parallel Computing and Optimization Techniques · Formal Methods in Verification
