Experiments on Speeding Up the Recursive Fast Fourier Transform by using AVX-512 SIMD instructions
The Fast Fourier Transform is probably one of the most studied algorithms of all time. New techniques regarding hardware and software are often applied and tested on it, but the interest in FFT is still large because of its applications - signal and image processing, numerical computations, etc. In this paper, we start from a trivial recursive version of the algorithm and we speed it up using AVX-512 Single Instruction Multiple Data (SIMD) instructions on an Intel i7 CPU with native support to AVX-512. In particular, we study the impact of two different storage choices of vector of complex numbers: block interleaving and complex interleaving. Experimental results show that automatic vectorization provides a 10.65% (∼ 1.12×) speedup, while with vectorization done by hand the speedup reaches 33.78% (∼ 1.51×). We have made our code publicly available, which could be helpful for SIMD instructions teaching purposes.
- . M. Frigo and S. Johnson, "The design and implementation of FFTW3," Proceedings of the IEEE, vol. 93, no. 2, pp. 216–231, 2005
- P. Vizcaino, F. Mantovani, and J. Labarta, "Accelerating fft using nec sx-aurora vector engine," in Euro-Par 2021: Parallel Processing Workshops, R. Chaves, D. B. Heras, A. Ilic, D. Unat, R. M. Badia, A. Bracciali, P. Diehl, A. Dubey, O. Sangyoon, S. L. Scott, and L. Ricci, Eds. Cham: Springer International Publishing, 2022, pp. 179–190.
- D. T. Popovici, F. Franchetti, and T. M. Low, "Mixed data layout kernels for vectorized complex arithmetic," in 2017 IEEE High Performance Extreme Computing Conf. (HPEC), 2017, pp. 1–7.
- J. W. Cooley and J. W. Tukey, "An algorithm for the machine calculation of complex Fourier series," Mathematics of computation, vol. 19, no. 90, pp. 297–301, 1965.
- W. M. Gentleman and G. Sande, "Fast Fourier Transforms: for fun and profit," in Proceedings of the November 7-10, 1966, Fall Joint Computer Conference, ser. AFIPS '66 (Fall). New York, NY, USA: Association for Computing Machinery, 1966, p. 563–578. [Online]. Available: https://doi.org/10.1145/1464291.1464352
- D. Sharp, M. Stoyanov, S. Tomov, and J. Dongarra, "A more portable HeFFTe: Implementing a fallback algorithm for Scalable Fourier Transforms," in 2021 IEEE High Performance Extreme Computing Conf. (HPEC), 2021, pp. 1–5.
- D. Takahashi, High-Performance FFT Algorithms. Springer Singapore, 2020, pp. 41–68. [Online]. Available: https://doi.org/10.1007/978-981-13-9965-7 6