FFTE and SPIRAL-Generated Kernels

FFTE is a Fortran subroutine library for computing the FFT in one or more dimensions. It includes real, complex, mixed-radix, and parallel transforms.

We proposed an implementation of the fast Fourier transform (FFT) targeting the ARM Scalable Vector Extension (SVE). After performing automatic vectorization via a compiler and an explicit vectorization through code generation by SPIRAL for FFT kernels, and comparing the performance, we showed that the explicit vectorization of SPIRAL generated code improved performance significantly. Performance results of FFTs on RIKEN's Fugaku processor simulator were reported. With the ARM compiler, we found that SPIRAL-generated FFT kernels written in SVE intrinsic were up to 3.16 times faster than FFT kernels of FFTE written in Fortran and up to 5.62 times faster than SPIRAL-generated FFT kernels written in C. [From Takahashi and Franchetti, " FFTE on SVE: SPIRAL-Generated Kernels," Proceedings of HPC Asia 2020, Jan. 2020, pp. 114-122, listed under references below.]


The public release (1.0.0) of the SPIRAL FFTE package is available at:
https://github.com/spiral-software/spiral-package-ffte.


The FFTE package that incorporates SPIRAL-generated FFT kernels can be accessed at:
http://www.ffte.jp/, or download package http://www.ffte.jp/ffte-7.0-spiral.tgz.

 

Development:


FFTE1 FFTX2


References:

Copyrights to many of the above papers are held by the publishers. The attached PDF files are preprints. It is understood that all persons copying this information will adhere to the terms and constraints invoked by each author's copyright. These works may not be reposted without the explicit permission of the copyright holder. Some links to papers above connect to IEEE Xplore with permission from IEEE, and viewers must follow all of IEEE's copyright policies.