Abstract
This article presents AutoFFT, a template-based code generation framework that can automatically generate high-performance FFT kernels for all natural-number radices. AutoFFT is based on the Cooley-Tukey FFT algorithm, which exploits the symmetric and periodic properties of the DFT matrix, as the outer parallelization framework. Because butterflies are the core operations of the Cooley-Tukey algorithm, we explore additional symmetric and periodic properties of the DFT matrix and formulate multiple optimized calculation templates to further reduce the number of floating-point operations for butterflies of arbitrary natural numbers. To fully exploit hardware resources, we encapsulate a series of optimizations in an assembly template optimizer. Given any DFT problem, AutoFFT automatically generates C FFT kernels using these calculation templates and converts them into efficient assembly kernels using the template optimizer. Through a series of experiments on Arm, Intel, and AMD processors, we show that AutoFFT-generated kernels can outperform those in Fastest Fourier Transform in the West (FFTW), the Arm Performance Libraries (ARMPL), and the Intel Math Kernel Library (MKL).
Author supplied keywords
Cite
CITATION STYLE
Li, Z., Jia, H., Zhang, Y., Chen, T., Yuan, L., & Vuduc, R. (2020). Automatic Generation of High-Performance FFT Kernels on Arm and X86 CPUs. IEEE Transactions on Parallel and Distributed Systems, 31(8), 1925–1941. https://doi.org/10.1109/TPDS.2020.2977629
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.