Mechanical Derivation of Fused Multiply–Add Algorithms for Linear Transforms
Voronenko, Y.
Puschel, M.
Carnegie Mellon Univ., Pittsburgh;
This paper appears in: Signal Processing, IEEE Transactions on
Publication Date: Sept. 2007
Volume: 55,
Issue: 9
On page(s): 4458-4473
ISSN: 1053-587X
INSPEC Accession Number: 9606511
Digital Object Identifier: 10.1109/TSP.2007.896116
Current Version Published: 2007-08-20
Abstract
Several computer architectures offer fused multiply-add (FMA), also called multiply-and-accumulate (MAC) instructions, that are as fast as a single addition or multiplication. For the efficient implementation of linear transforms, such as the discrete Fourier transform or discrete cosine transforms, this poses a challenge to algorithm developers as standard transform algorithms have to be manipulated into FMA algorithms that make optimal use of FMA instructions. We present a general method to convert any transform algorithm into an FMA algorithm. The method works with both algorithms given as directed acyclic graphs (DAGs) and algorithms given as structured matrix factorizations. We prove bounds on the efficiency of the method. In particular, we show that it removes all single multiplications except at most as many as the transform has outputs. We implemented the DAG-based version of the method and show that we can generate many of the best-known hand-derived FMA algorithms from the literature as well as a few novel FMA algorithms.
Index
Terms
Available to subscribers and IEEE members.
References
Available to subscribers and IEEE members.
Citing Documents
Available to subscribers and IEEE members.