High-performance sparse fast Fourier transforms

The Sparse Fast Fourier Transform is a recent algorithm developed by Hassanieh et al. at MIT for Discrete Fourier Transforms on signals with a sparse frequency domain. A reference implementation of the algorithm exists and proves that the Sparse Fast Fourier Transform can be faster than modern FFT libraries. However, the reference implementation does not take advantage of modern hardware features like vector instruction sets or multithreading. In this Master Thesis the reference implementation’s performance will be analyzed and evaluated. Several optimizations are proposed and implemented in a high-performance Sparse Fast Fourier Transform library. The optimized code is evaluated for performance and compared to the reference implementation as well as the FFTW library. The main result is that, depending on the input parameters, the optimized Sparse Fast Fourier Transform library is two to five times faster than the reference implementation.

[1]  Jack J. Dongarra,et al.  Guest Editors Introduction to the top 10 algorithms , 2000, Comput. Sci. Eng..

[2]  Steven G. Johnson,et al.  The Design and Implementation of FFTW3 , 2005, Proceedings of the IEEE.

[3]  J. Markel,et al.  FFT pruning , 1971 .

[4]  Piotr Indyk,et al.  Simple and practical algorithm for sparse Fourier transform , 2012, SODA.

[5]  Piotr Indyk,et al.  Sample-optimal average-case sparse Fourier Transform in two dimensions , 2013, 2013 51st Annual Allerton Conference on Communication, Control, and Computing (Allerton).

[6]  Franz Franchetti,et al.  Generating high performance pruned FFT implementations , 2009, 2009 IEEE International Conference on Acoustics, Speech and Signal Processing.

[7]  A.C. Gilbert,et al.  A Tutorial on Fast Fourier Sampling , 2008, IEEE Signal Processing Magazine.

[8]  Piotr Indyk,et al.  Faster GPS via the sparse fourier transform , 2012, Mobicom '12.

[9]  Piotr Indyk,et al.  Nearly optimal sparse fourier transform , 2012, STOC '12.

[10]  F. Harris On the use of windows for harmonic analysis with the discrete Fourier transform , 1978, Proceedings of the IEEE.

[11]  Yishay Mansour,et al.  Randomized Interpolation and Approximation of Sparse Polynomials , 1992, SIAM J. Comput..

[12]  Franz Franchetti,et al.  SPIRAL: Code Generation for DSP Transforms , 2005, Proceedings of the IEEE.

[13]  Franz Franchetti,et al.  Discrete fourier transform on multicore , 2009, IEEE Signal Processing Magazine.

[14]  D. N. Kim,et al.  Fast Fourier Transform - Algorithms and Applications , 2010 .

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

[16]  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).

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

[18]  T. V. Sreenivas,et al.  FFT algorithm for both input and output pruning , 1979 .

[19]  Mark A. Iwen,et al.  Empirical evaluation of a sub-linear time sparse DFT algorithm , 2007 .