SPIRAL Program Generator for Transforms

What is it?

We provide a web interface to the SPIRAL program generator for linear transforms. You can select the platform, transform, transform size, and several other parameters, and SPIRAL will generate the C code for you, or retrieve it from the database if it was requested before. You can also browse the database below.

The interface is a beta version. This means minor bugs and reduced functionality. Soon, we will include the generation of vector code and parallel code (see the papers below).

You can download an earlier version of the program generator below.

We also provide interfaces to other generators (e.g., Verilog for transforms). See the list "Online Generators" on our main page.

Program Generation Interface expand

Browse Archive expand


This paper gives an overview of Spiral, status 2004. It contains all the basic ideas and is a good choice for citing the basic system:<\p>

  • 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
We have made great progress since this paper was published including extensions to parallel platforms, software and hardware.


You can download an earlier version of SPIRAL below. It can generate standard, scalar C code for a variety of transforms. The interface above connects to a newer version of SPIRAL.

First Official Release of SPIRAL (Old: Summer 2001)

spiral-3.1.tgz (5,110 KB) (download, unpack, read INSTALL)

  • SUN UltraSparc/Unix
  • PC/Linux
  • SGI/Irix
spiral-3.1-win32.exe (5,972 KB) (download, unpack, run setup, read README). Note: we have experienced in some cases problems on Windows 98 platforms.
  • Windows 98/ME/2000/XP

More Recent Version (but still the earlier version)

February 2004: spiral-highland-feb04.tgz

May 2004: spiral-may04.tgz

More Information, Comments, and Questions

The program generation interface was designed and implemented by Aliaksei Sandryhaila (formerly at Drexel U., now at CMU), Paul Thurlow, Patra Pantupat, and Hye Young Han (all - at CMU)

For questions and feedback please send email to help (at) spiral.net.