Home
This is the home page of the SPIRAL project. 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.
Our basic research question is
Can we teach computers to write fast libraries?
Our flagship is the SPIRAL program generation system, which, entirely autonomously, generates platform-tuned implementations of signal processing transform such as the discrete Fourier transform, discrete cosine transform, and many others. Look at a few benchmarks. But we also provide other online generators (see the right column).
SPIRAL addresses one of the current key problems in numerical software and hardware development: how to achieve close to optimal performance with reasonable coding effort? (More detailed problem statement.)
SPIRAL comprises an interdisciplinary team of researchers in the areas of signal processing, algorithms, scientific computing, compilers, computer architecture, and mathematics.
In the domain of linear transform, and for standard multicore platforms (Core 2 Duo like), we have achieved complete automation: the computer generation of general input-size, vectorized, parallel libraries.
Ongoing Research
SPIRAL Overview Paper (Good Choice for Citing)
- Markus Püschel, José M. F. Moura, Jeremy Johnson, David Padua, Manuela Veloso, Bryan Singer, Jianxin Xiong, Franz Franchetti, Aca Gacic, Yevgen Voronenko, Kang Chen, Robert W. Johnson, and Nick Rizzolo
SPIRAL: Code Generation for DSP Transforms
Proceedings of the IEEE special issue on "Program Generation, Optimization, and Adaptation," Vol. 93, No. 2, 2005, pp. 232-275
After this paper we started to attack all forms of parallel platforms. Check out benchmarks or learn about the current Spiral system.
Here is a talk (February 2007).
Selected Recent Papers
- Frédéric de Mesmay, Yevgen Voronenko and Markus Püschel
Offline Library Adaptation Using Automatically Generated Heuristics
to appear in Proc. International Parallel and Distributed Processing Symposium (IPDPS), 2010
- Frédéric de Mesmay, Srinivas Chellappa, Franz Franchetti and Markus Püschel
Computer Generation of Efficient Software Viterbi Decoders
to appear in Proc. International Conference on High Performance Embedded Architectures & Compilers (HiPEAC), 2010
- Franz Franchetti, Markus Püschel, Yevgen Voronenko, Srinivas Chellappa and José M. F. Moura
Discrete Fourier Transform on Multicore
IEEE Signal Processing Magazine, special issue on ``Signal Processing on Platforms with Multiple Cores'', Vol. 26, No. 6, pp. 90-102, 2009
- Yannis Benlachtar, Philip M. Watts, Rachid Bouziane, Peter A. Milder, Deepak Rangaraj, Anthony Cartolano, Robert Koutsoyannis, James C. Hoe, Markus Püschel, Madeleine Glick and Robert I. Killey
Generation of Optical OFDM Signals Using 21.4 GS/s Real Time Digital Signal Processing
Optics Express, Vol. 17, No. 20, pp. 17658-17668, 2009
- Frédéric de Mesmay, Arpad Rimmel, Yevgen Voronenko and Markus Püschel
Bandit-Based Optimization on Graphs with Application to Library Performance Tuning
Proc. International Conference on Machine Learning (ICML), pp. 729-736, 2009
|
|
Online Generators
We provide a number of online generators, which are easy and fun to use or play with.
Online generators currently available
DFT = discrete Fourier transform, DCT = discrete cosine transform.
Browse other software and hardware.
Featured Result

References
- Franz Franchetti, Markus Püschel, Yevgen Voronenko, Srinivas Chellappa and José M. F. Moura
Discrete Fourier Transform on Multicore
IEEE Signal Processing Magazine, special issue on ``Signal Processing on Platforms with Multiple Cores'', Vol. 26, No. 6, pp. 90-102, 2009
- Yevgen Voronenko, Frédéric de Mesmay and Markus Püschel
Computer Generation of General Size Linear Transform Libraries
Proc. International Symposium on Code Generation and Optimization (CGO), pp. 102-113, 2009
More benchmarks.
Contact
If you have questions or comments about SPIRAL or our work in general, please send email to help (at) spiral.net.
|
|
| 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 high performance transform libraries becomes possible. |
| April 2008: Intel announces that its flagship performance library IPP (6.0 beta) will have a domain for library functions generated by Spiral. |
| Our strength are transforms. But we study program generation for various problems:
|
| In 2007/2008 we received grants from Darpa, NSF, Intel, Mercury, and National Instruments. |
Other links:
|