SPIRAL: A generator for platform-adapted libraries of signal processing algorithms

Markus Püschel, José M.F. Moura, Bryan Singer, Jianxin Xiong, Jeremy Johnson, David Padua, Manuela Veloso, Robert W. Johnson

Research output: Contribution to journalArticlepeer-review


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.

Original languageEnglish (US)
Pages (from-to)21-45
Number of pages25
JournalInternational Journal of High Performance Computing Applications
Issue number1
StatePublished - 2004


  • Automatic performance tuning
  • DFT
  • Domain-specific language
  • FFT
  • Fourier transform
  • Optimization
  • Program generation
  • Search
  • Signal processing
  • Signal transform

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture

Fingerprint Dive into the research topics of 'SPIRAL: A generator for platform-adapted libraries of signal processing algorithms'. Together they form a unique fingerprint.

Cite this