Publication | Closed Access
SPIRAL: Code Generation for DSP Transforms
822
Citations
56
References
2005
Year
Dsp TransformsEngineeringAdvanced ComputingCompiler TechnologyHardware AlgorithmComputer ArchitectureSoftware EngineeringSoftware AnalysisSystems EngineeringProgram TransformationParallel ComputingTransform Library CodeCode GenerationComputer EngineeringComputer ScienceReconfigurable ArchitectureSignal ProcessingHardware AccelerationProgram AnalysisSpiral CompetesParallel Programming
Scientific computing faces the challenge of achieving portable optimal performance across rapidly evolving, complex computing platforms. The paper introduces SPIRAL to address this challenge for linear digital signal processing transforms. SPIRAL automatically generates high‑performance code by formulating tuning as an optimization problem, exploiting domain‑specific mathematical structure, and using a feedback‑driven optimizer that applies search and learning techniques to explore algorithmic and implementation choices. Experimental results show that SPIRAL produces high‑performance code for a broad set of DSP transforms and competes with or outperforms the best human‑tuned libraries.
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.
| Year | Citations | |
|---|---|---|
Page 1
Page 1