Automatic Generation of High-Performance FFT Kernels on Arm and X86 CPUs

22Citations
Citations of this article
16Readers
Mendeley users who have this article in their library.

This article is free to access.

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

APA

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.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free