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 recent 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.

Current Research Threads

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 recent talk (February 2007).

Recent Papers

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.

Example interface (click to go to the site)

Featured Result

DFT: Four-way vectorized, up to four-threads, "push-button" generated by Spiral. Result: up to 25 Gflop/s.

References

More benchmarks.

Contact

If you have questions or comments about SPIRAL or our work in general, please send email to help (at) spiral.net.

SPIRAL Team
Spiral group: Tiny picture
Intel Collaboration
The latest version of Intel's Math Kernel Library (MKL) contains FFT kernels generated by Spiral.
Beyond Transforms
Our strength are transforms. But we study program generation for various problems:
Tools
New DARPA Funding
Spring 2007: We receive a new grant from NSF.
Proceedings IEEE Special Issue
How to Cite SPIRAL
If you consider citing SPIRAL, here is our suggestion.

Other links:

visitors since July 2003
insurance quotes
insurance quotes Counter