Spiral
Software/Hardware Generation for DSP Algorithms
Teaching computers to write fast libraries
The goal of SPIRAL is to push the limits of automation in software and hardware development and optimization for digital signal processing (DSP) algorithms and other numerical kernels beyond what is possible with current tools. SPIRAL addresses one of the current key problems in numerical software and hardware development: achieving close to optimal performance with reasonable coding effort.
The development of high-performance numeric libraries has become extraordinarily difficult due to multiple processor cores, vector instruction sets, and deep memory hierarchies. In addition, often, each library has to be re-implemented and re-optimized, whenever a new platform is released.
Our flagship product is the SPIRAL program generation system, which, autonomously, generates platform-tuned implementations of signal processing transforms such as the discrete Fourier transform, discrete cosine transform, filters, discrete wavelet transform, and many other linear transforms. SPIRAL can create an extensive and broad library of these transforms in a few hours that would take several system engineers months if not years to develop to the same level of performance.
See Spiral Poster (4.29 MB)
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Spiral Team:
- José M F Moura, Professor
Electrical & Computer Engineering Department, Carnegie Mellon - Markus Pueschel, Professor
Electrical & Computer Engineering Department, Carnegie Mellon - Franz Franchetti, Systems Scientist
Electrical & Computer Engineering Department, Carnegie Mellon - James Hoe, Professor
Electrical & Computer Engineering Department, Carnegie Mellon - Yevgen Voronenko, Senior Scientist
Electrical & Computer Engineering Department, Carnegie Mellon
Donald Jones Center/ Olympus Interns:
- Fahad Qureshi,Tepper School of Business, MBA
- Jinal Shah,Tepper School of Business, MBA
Slides:
- Can We Teach Computers To Write Fast Libraries? February 2007
In the News:
- July 2008: Computer generation of libraries using Spiral was selected as NSF discovery.
- May 2008: Yevgen Voronenko receives the ECE/CMU best thesis award. With the thesis the computer generation of general-size, parallel, vectorized, adaptive transform libraries becomes possible.
- May 2008 Intel announces that its flagship performance library IPP (6.0 beta) will have a domain for library functions generated by Spiral.
- Proceedings IEEE Special Issue: Program Generation, Optimization, and Adaption February 2005, Vol. 93, No. 2



























