International Parallel and Distributed Processing Symposium (IPDPS'03)
Short Vector Code Generation for the Discrete Fourier Transform
Nice, France
April 22-April 26
ISBN: 0-7695-1926-1
In this paper we use a mathematical approach to automatically generate high performance short vector code for the discrete Fourier transform (DFT). We represent the well-known Cooley-Tukey fast Fourier transform in a mathematical notation and formally derive a "short vector variant". Using this recursion we generate for a given DFT a large number of different algorithms, represented as formulas, and translate them into short vector code. Then we present a vector code specific dynamic programming method that searches in the space of different implementations for the fastest on the given architecture. We implemented this approach as part of the SPIRAL library generator. On Pentium III and 4, our automatically generated SSE and SSE2 vector code compares favorably with the hand-tuned Intel vendor library.
Index Terms:
SIMD, SSE, vector code, code generation, adaptation, discrete Fourier transform, FFT, SPIRAL
Citation:
Franz Franchetti, Markus Püschel, "Short Vector Code Generation for the Discrete Fourier Transform," ipdps, pp.58b, International Parallel and Distributed Processing Symposium (IPDPS'03), 2003