Performance Models and Search Methods for Optimal FFT Implementations

This thesis considers systematic methodologies for finding optimized implementations for the fast Fourier transform (FFT). By employing rewrite rules (e.g., the CooleyTukey formula), we obtain a divide and conquer procedure (decomposition) that breaks down the initial transform into combinations of different smaller size sub-transforms, which are graphically represented as breakdown trees. Recursive application of the rewrite rules generates a set of algorithms and alternative codes for the FFT computation. The set of "all" possible implementations (within the given set of the rules) results in pairing the possible breakdown trees with the code implementation alternatives. To evaluate the quality of these implementations, we develop analytical and experimental performance models. Based on these models, we derive methods dynamic programming, soft decision dynamic programming and exhaustive search to find the implementation with minimal runtime. Our test results demonstrate that good algorithms and codes, accurate performance evaluation models, and effective search methods, combined together provide a system framework (library) to derive automatically fast FFT implementations.

[1]  Ronald N. Bracewell The Hartley transform , 1986 .

[2]  H. Nussbaumer Fast Fourier transform and convolution algorithms , 1981 .

[3]  N. Bloch Abstract Algebra With Applications , 1987 .

[4]  David Clark Laboratory for Computer Science , 1995 .

[5]  Steven G. Johnson,et al.  The Fastest Fourier Transform in the West , 1997 .

[6]  Martin Vetterli,et al.  Split-radix algorithms for length-pm DFT's , 1989, IEEE Trans. Acoust. Speech Signal Process..

[7]  C. Sidney Burrus,et al.  Wavelet transform based fast approximate Fourier transform , 1997, 1997 IEEE International Conference on Acoustics, Speech, and Signal Processing.

[8]  S. Winograd Arithmetic complexity of computations , 1980 .

[9]  C. Sidney Burrus,et al.  The design of optimal DFT algorithms using dynamic programming , 1982, ICASSP.

[10]  Patrick C. Yip,et al.  Fast prime factor decomposition algorithms for a family of discrete trigonometric transforms , 1989 .

[11]  Steven G. Johnson,et al.  FFTW: an adaptive software architecture for the FFT , 1998, Proceedings of the 1998 IEEE International Conference on Acoustics, Speech and Signal Processing, ICASSP '98 (Cat. No.98CH36181).

[12]  T. Parks,et al.  A prime factor FFT algorithm using high-speed convolution , 1977 .

[13]  Alan V. Oppenheim,et al.  Discrete-Time Signal Pro-cessing , 1989 .

[14]  Warren E. Ferguson A simple derivation of Glassman's general N fast fourier transform☆ , 1982 .

[15]  K. Thyagarajan Fast Fourier Transform , 1974 .

[16]  Anil K. Jain Fundamentals of Digital Image Processing , 2018, Control of Color Imaging Systems.

[17]  C. Sidney Burrus,et al.  Notes on the FFT , 1997 .

[18]  G. Rodrigue Parallel Computations , 1982 .

[19]  M. Vetterli,et al.  Simple FFT and DCT algorithms with reduced number of operations , 1984 .

[20]  C. Sidney Burrus,et al.  Fast approximate Fourier transform via wavelets transform , 1996, Optics & Photonics.

[21]  Jeffery A. Glassman A Generalization of the Fast Fourier Transform , 1970, IEEE Transactions on Computers.

[22]  J. Tukey,et al.  An algorithm for the machine calculation of complex Fourier series , 1965 .

[23]  Matteo Frigo,et al.  A fast Fourier transform compiler , 1999, SIGP.

[24]  Paul N. Swarztrauber,et al.  Vectorizing the FFTs , 1982 .

[25]  R. Singleton An algorithm for computing the mixed radix fast Fourier transform , 1969 .

[26]  S. Winograd On the multiplicative complexity of the Discrete Fourier Transform , 1979 .

[27]  P. Yip,et al.  Discrete Cosine Transform: Algorithms, Advantages, Applications , 1990 .

[28]  S. Winograd On computing the Discrete Fourier Transform. , 1976, Proceedings of the National Academy of Sciences of the United States of America.

[29]  Pierre Duhamel,et al.  Implementation of "Split-radix" FFT algorithms for complex, real, and real-symmetric data , 1986, IEEE Trans. Acoust. Speech Signal Process..

[30]  J. Hicks A HIGH-LEVEL SIGNAL PROCESSING PROGRAMMING LANGUAGE , 1988 .

[31]  C. Sidney Burrus,et al.  On computing the split-radix FFT , 1986, IEEE Trans. Acoust. Speech Signal Process..

[32]  P. Duhamel,et al.  `Split radix' FFT algorithm , 1984 .

[33]  Ronald N. Bracewell,et al.  The Fourier Transform and Its Applications , 1966 .

[34]  Ryszard Stasinski,et al.  The techniques of the generalized fast Fourier transform algorithm , 1991, IEEE Trans. Signal Process..

[35]  Nick Lord,et al.  Abstract algebra with applications , 1993 .