Learning to Construct Fast Signal Processing Implementations

Bryan Singer, Manuela Veloso;
3(Dec):887-919, 2002.

Abstract

A single signal processing algorithm can be represented by many
mathematically equivalent formulas. However, when these formulas are
implemented in code and run on real machines, they have very different
runtimes. Unfortunately, it is extremely difficult to model this broad
performance range. Further, the space of formulas for real signal
transforms is so large that it is impossible to search it exhaustively
for fast implementations. We approach this search question as a control
learning problem. We present a new method for learning to generate
fast formulas, allowing us to intelligently search through only the
most promising formulas. Our approach incorporates signal processing
knowledge, hardware features, and formula performance data to learn to
construct fast formulas. Our method learns from performance data for a
few formulas of one size and then can construct formulas that will have
the fastest runtimes possible across many sizes.