Title
SIMD Vectorization of Straight Line FFT Code
Abstract
This paper presents compiler technology that targets general purpose microprocessors augmented with SIMD execution units for exploiting data level parallelism. FFT kernels are accelerated by automatically vectorizing blocks of straight line code for processors featuring two-way short vector SIMD extensions like AMD's 3DNow! and Intel's SSE 2. Additionally, a special compiler backend is introduced which is able to (i) utilize particular code properties, (ii) generate optimized address computation, and (iii) apply specialized register allocation and instruction scheduling. Experiments show that automatic SIMD vectorization can achieve performance that is comparable to the optimal hand-generated code for FFT kernels. 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 floating-point performance of FFTW's scalar version has been more than doubled, resulting in the fastest FFT implementation to date.
Year
DOI
Venue
2003
10.1007/978-3-540-45209-6_39
LECTURE NOTES IN COMPUTER SCIENCE
Keywords
Field
DocType
instruction scheduling,register allocation,data level parallelism
Instruction scheduling,Register allocation,Computer science,Parallel computing,Microprocessor,SIMD,Vectorization (mathematics),Compiler,Data parallelism,Fast Fourier transform
Conference
Volume
ISSN
Citations 
2790
0302-9743
13
PageRank 
References 
Authors
0.85
5
4
Name
Order
Citations
PageRank
Stefan Kral1719.97
Franz Franchetti297488.39
Juergen Lorenz3749.73
Christoph W Ueberhuber410915.89