Spiral: A generator for platform-adapted libraries of signal processing algorithms (vol 18, pg 21, 2004)
SPIRAL is a generator for libraries of fast software implementations of linear signal processing transforms, These libraries are adapted to the computing platform and can be re-optimized as the hardware is upgraded or replaced. This paper describes the main components of SPIRAL: the mathematical framework that concisely describes signal transforms and their fast algorithms; the formula generator that captures at the algorithmic level the degrees of freedom in expressing a particular signal processing transform; the formula translator that encapsulates the compilation degrees of freedom when translating a specific algorithm into an actual code implementation; and, finally, an intelligent search engine that finds within the large space of alternative formulas and implementations the "best' match to the given computing platform. We present empirical data that demonstrate the high performance of SPIRAL generated code.
signal processing signal transform search program generation automatic performance tuning domain-specific language fourier transform dft fft optimization