Efficient Bit Reversal Algorithms in Parallel Computers

Fast Fourier Transform is widely used in many areas of engineering and mathematics such as digital signal and image processing systems, and polynomial multiplication. Furthermore, it has an important role in performing parallel simulations such as plasma simulation, weather forecasting, and dynamic fluids. Bit-reversal routine is considered to be an essential part of FFT and that is because of high possibility of degrading the overall execution time of FFT application if it is not perfectly designed. In this paper, we propose a new formulation for Numerical Recipes bit-reversal sequential algorithm. The formulation is based on independent steps; hence it can be efficiently implemented on parallel computers. Two algorithms that utilized the new formulation are proposed, namely, the All-to-all and Swapping algorithms. Experimental results of the proposed algorithms show that a reasonable speedup can be achieved, especially for large data sizes, when compared to the sequential implementation of the bit-reversal. Additionally, the results show that the Swapping algorithm performs better than the All-to-all algorithm.

[1]  Juan Manuel Rius,et al.  New FFT bit-reversal algorithm , 1995, IEEE Trans. Signal Process..

[2]  K. L. Ho,et al.  On indexing the prime factor fast Fourier transform algorithm , 1991 .

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

[4]  Paul N. Swarztrauber,et al.  FFT algorithms for vector computers , 1984, Parallel Comput..

[5]  W. David Pan,et al.  Five-step FFT algorithm with reduced computational complexity , 2007, Inf. Process. Lett..

[6]  Alan H. Karp Bit Reversal on Uniprocessors , 1996, SIAM Rev..

[7]  F. A. Seiler,et al.  Numerical Recipes in C: The Art of Scientific Computing , 1989 .

[8]  Vipin Kumar,et al.  The Scalability of FFT on Parallel Computers , 1993, IEEE Trans. Parallel Distributed Syst..

[9]  D. Sundararajan The Discrete Fourier Transform: Theory, Algorithms and Applications , 2001 .

[10]  Michael T. Orchard Fast bit-reversal algorithms based on index representations in GF (2b) , 1992, IEEE Trans. Signal Process..

[11]  R. Al Na'mneh,et al.  Parallel implementation of 1-D fast Fourier transform without inter-processor communications , 2005, Proceedings of the Thirty-Seventh Southeastern Symposium on System Theory, 2005. SSST '05..

[12]  James S. Walker A new bit reversal algorithm , 1990, IEEE Trans. Acoust. Speech Signal Process..

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

[14]  Xiaoyu Song,et al.  Performance Evaluation on FFT Software Implementation , .

[15]  Naga K. Govindaraju,et al.  High performance discrete Fourier transforms on graphics processors , 2008, HiPC 2008.

[16]  J. Prado A new fast bit-reversal permutation algorithm based on a symmetry , 2004, IEEE Signal Processing Letters.

[17]  Paul N. Swarztrauber,et al.  A comparison of optimal FFTs on torus and hypercube multicomputers , 2001, Parallel Comput..

[18]  Mokhtar Aboelaze,et al.  Reducing Memory References for FFT Calculation , 2006, CDES.

[19]  Karim Drouiche A new efficient computational algorithm for bit reversal mapping , 2001, IEEE Trans. Signal Process..

[20]  Yingtao Jiang,et al.  Reduce FFT memory reference for low power applications , 2002, 2002 IEEE International Conference on Acoustics, Speech, and Signal Processing.

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

[22]  David M. W. Evans A second improved digit-reversal permutation algorithm for fast transforms , 1989, IEEE Trans. Acoust. Speech Signal Process..

[23]  N. Kalaiarasi,et al.  Efficient Methods for FFT calculations Using Memory Reduction Techniques. , 2010 .

[24]  David M. W. Evans An improved digit-reversal permutation algorithm for the fast Fourier and Hartley transforms , 1987, IEEE Trans. Acoust. Speech Signal Process..

[25]  Larry Carter,et al.  Memory hierarchy considerations for fast transpose and bit-reversals , 1999, Proceedings Fifth International Symposium on High-Performance Computer Architecture.

[26]  Matteo Frigo A Fast Fourier Transform Compiler , 1999, PLDI.

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

[28]  Zhao Zhang,et al.  Fast Bit-Reversals on Uniprocessors and Shared-Memory Multiprocessors , 2000, SIAM J. Sci. Comput..

[29]  Pierre Duhamel A connection between bit reversal and matrix transposition: hardware and software consequences , 1990, IEEE Trans. Acoust. Speech Signal Process..

[30]  Charles M. Rader,et al.  Digital processing of signals , 1983 .

[31]  Daisuke Takahashi A parallel 1-D FFT algorithm for the Hitachi SR8000 , 2003, Parallel Comput..

[32]  David H. Bailey,et al.  FFTs in external or hierarchical memory , 1989, Proceedings of the 1989 ACM/IEEE Conference on Supercomputing (Supercomputing '89).

[33]  Angelo A. Yong A better FFT bit-reversal algorithm without tables , 1991, IEEE Trans. Signal Process..

[34]  V. K. Zadiraka,et al.  Fast multiplication of long numbers using FFT , 1996 .

[35]  Abderrezak Guessoum,et al.  Fast algorithms for the multidimensional discrete Fourier transform , 1986, IEEE Trans. Acoust. Speech Signal Process..

[36]  Peter D. Welch,et al.  Fast Fourier Transform , 2011, Starting Digital Signal Processing in Telecommunication Engineering.