Spiral: A Generator for Platform-Adapted Libraries of Signal Processing Algorithms

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

  • Affiliations:
  • Department of Electrical and Computer Engineering Carnegie Mellon University, Pittsburgh, PA 15213-3890, USA;Department of Electrical and Computer Engineering Carnegie Mellon University, Pittsburgh, PA 15213-3890, USA;716 Quiet Pond Ct., Odenton, MD 21113, USA;3315 Digital Computer Laboratory, 1304 W Springfield Ave, Urbana, IL 61801, USA;Department of Computer Science, Drexel University Philadelphia, PA 19104-2875, USA;Department of Computer Science, University of Illinois at Urbana-Champaign 3318 Digital Computer Laboratory, Urbana, IL 61801, USA;School of Computer Science, Carnegie Mellon University, Pittsburgh, PA 15213-3890, USA;3324 21ST Ave. South St. Cloud, MN 56301, USA

  • Venue:
  • International Journal of High Performance Computing Applications
  • Year:
  • 2004

Quantified Score

Hi-index 0.02

Visualization

Abstract

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.