A Simple Methodology for Computing Families of Algorithms
Devangi N. Parikh, Margaret E. Myers, Richard Vuduc, Robert A. van de, Geijn

TL;DR
This paper introduces a straightforward methodology for systematically deriving families of algorithms and their cost analyses, exemplified by polynomial evaluation, with practical implications for high-performance linear algebra software.
Contribution
It presents a simple, systematic approach for deriving and analyzing algorithms, demonstrated through polynomial evaluation, enhancing algorithm selection and optimization.
Findings
Horner's rule is identified as the optimal algorithm for polynomial evaluation.
The methodology enables systematic derivation of multiple algorithms with their cost analyses.
Recent advances improve the practicality of this approach in high-performance computing.
Abstract
Discovering "good" algorithms for an operation is often considered an art best left to experts. What if there is a simple methodology, an algorithm, for systematically deriving a family of algorithms as well as their cost analyses, so that the best algorithm can be chosen? We discuss such an approach for deriving loop-based algorithms. The example used to illustrate this methodology, evaluation of a polynomial, is itself simple yet the best algorithm that results is surprising to a non-expert: Horner's rule. We finish by discussing recent advances that make this approach highly practical for the domain of high-performance linear algebra software libraries.
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
TopicsNumerical Methods and Algorithms · Formal Methods in Verification · Advanced Database Systems and Queries
