Journal article
SPIRAL: Code Generation for DSP Transforms
Proceedings of the IEEE, v 93(2), pp 232-275
Feb 2005
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.
Metrics
Details
- Title
- SPIRAL: Code Generation for DSP Transforms
- Creators
- M Puschel - Carnegie Mellon UniversityY Voronenko - Carnegie Mellon UniversityK Chen - STMicroelectronicsR.W Johnson - 3324 21St Ave. SouthN Rizzolo - University of Illinois Urbana-ChampaignJ.M.F Moura - Carnegie Mellon UniversityJ.R Johnson - Drexel UniversityD Padua - University of Illinois Urbana-ChampaignM.M Veloso - Carnegie Mellon UniversityB.W Singer - [Odenton, MD, USA]Jianxin Xiong - University of Illinois Urbana-ChampaignF Franchetti - Carnegie Mellon UniversityA Gacic - Carnegie Mellon University
- Publication Details
- Proceedings of the IEEE, v 93(2), pp 232-275
- Publisher
- IEEE
- Resource Type
- Journal article
- Language
- English
- Academic Unit
- Computer Science (Computing)
- Web of Science ID
- WOS:000226542300003
- Scopus ID
- 2-s2.0-19344368072
- Other Identifier
- 991019168400204721
InCites Highlights
Data related to this publication, from InCites Benchmarking & Analytics tool:
- Collaboration types
- Industry collaboration
- Domestic collaboration
- Web of Science research areas
- Engineering, Electrical & Electronic