FFT Compiler Techniques [chapter]

Stefan Kral, Franz Franchetti, Juergen Lorenz, Christoph W. Ueberhuber, Peter Wurzinger
2004 Lecture Notes in Computer Science  
This paper presents compiler technology that targets general purpose microprocessors augmented with SIMD execution units for exploiting data level parallelism. Numerical applications are accelerated by automatically vectorizing blocks of straight line code to be run on processors featuring two-way short vector SIMD extensions like Intel's SSE 2 on Pentium 4, SSE 3 on Intel Prescott, AMD's 3DNow! , and IBM's SIMD operations implemented on the new processors of the BlueGene/L supercomputer. The
more » ... per introduces a special compiler backend for Intel P4's SSE 2 and AMD's 3DNow! which is able (i) to exploit particular properties of FFT code, (ii) to generate optimized address computation, and (iii) to perform specialized register allocation and instruction scheduling. Experiments show that the automatic SIMD vectorization techniques of this paper enable performance of hand optimized code for key benchmarks. The newly developed methods have been integrated into the codelet generator of Fftw and successfully vectorized complicated code like real-to-halfcomplex non-power of two FFT kernels. The floatingpoint performance of Fftw's scalar version has been more than doubled, resulting in the fastest FFT implementation to date.
doi:10.1007/978-3-540-24723-4_15 fatcat:iftd7t3c6rgengdgu2q6xjsxe4