Cited by 826Parallel Computing and Optimization TechniquesEmbedded Systems Design TechniquesDigital Filter Design and Implementation

SPIRAL: Code Generation for DSP Transforms

Puschel, M., Moura, J.M.F., Johnson, J.R., Padua, D., Veloso, M.M., Singer, B.W., Jianxin Xiong, Franchetti, F. +5 more·2005·Proceedings of the IEEE

Abstract

Fast changing, increasingly complex, and diverse computing platforms pose central problems in scientific computing: How to achieve, with reasonable effort, portable optimal performance? We present SPIRAL, which considers this problem for the performance-critical domain of linear digital signal processing (DSP) transforms. For a specified transform, SPIRAL automatically generates high-performance code that is tuned to the given platform. SPIRAL formulates the tuning as an optimization problem and exploits the domain-specific mathematical structure of transform algorithms to implement a feedback-driven optimizer. Similar to a human expert, for a specified transform, SPIRAL "intelligently" generates and explores algorithmic and implementation choices to find the best match to the computer's microarchitecture. The "intelligence" is provided by search and learning techniques that exploit the structure of the algorithm and implementation space to guide the exploration and optimization. SPIRAL generates high-performance code for a broad set of DSP transforms, including the discrete Fourier transform, other trigonometric transforms, filter transforms, and discrete wavelet transforms. Experimental results show that the code generated by SPIRAL competes with, and sometimes outperforms, the best available human tuned transform library code.

Integrity signals

Registry

Crossref · 10.1109/jproc.2004.840306

Cites

1 of 1 references verified0 citation errors · 0 not checkable

Statistics

Recomputing p-values needs the paper’s full text.

Claims the paper makes

This paper’s full text isn’t openly available, so its claims and self-check weren’t run. The registry and citation checks still apply.

Cites

Flagged first, then by citations

Cited by

Sorted by citations

Authors
Puschel, M., Moura, J. M. F., Johnson, J. R., Padua, D., Veloso, M. M., Singer, B. W., Xiong, J., Franchetti, F., Gacic, A., Voronenko, Y., Chen, K., Johnson, R. W., & Rizzolo, N.
Affiliations
  • Carnegie Mellon University (US)
  • Drexel University (US)
  • University of Illinois Urbana-Champaign (US)
Venue
Proceedings of the IEEE
Published
2005-02
Volume
93
Issue
2
Pages
232-275
ISSN
0018-9219 (ISSN-L)
OpenAlex
W2136952590
Cited by
826
References
1
Citations by year
2026: 13 · 2025: 12 · 2024: 14 · 2023: 18 · 2022: 17 · 2021: 22 · 2020: 35 · 2019: 24 · 2018: 47 · 2017: 36 · 2016: 34 · 2015: 51 · 2014: 56 · 2013: 58 · 2012: 62
FWCI
75.56
Type
journal article
Language
en
Open access
closed
Locations
Proceedings of the IEEE (publishedVersion)
Topics
  • Physical Sciences › Computer Science › Hardware and Architecture › Parallel Computing and Optimization Techniques
  • Physical Sciences › Computer Science › Hardware and Architecture › Embedded Systems Design Techniques
  • Physical Sciences › Computer Science › Signal Processing › Digital Filter Design and Implementation
Keywords
spirals, automatic code generation, performance tuning, feedback-driven optimization, discrete Fourier transform, discrete wavelet transform, trigonometric transforms

About these checks

Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.

Statistics and arithmetic are recomputed, not judged.

Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.

What counts as a claim ›How we measure confidence ›How we check this ›

Are you an author, or do you see a problem with this page? Request a review