Carnegie Mellon University
Learning to Construct Fast Signal Processing Implementations

Bryan Singer and Manuela Veloso
Journal of Machine Learning Research, pp. 887 - 919, December, 2002.

  • Adobe portable document format (pdf) (6MB)
Copyright notice: This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright. These works may not be reposted without the explicit permission of the copyright holder.

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.

Associated Lab(s) / Group(s): MultiRobot Lab
Number of pages: 33

Text Reference
Bryan Singer and Manuela Veloso, "Learning to Construct Fast Signal Processing Implementations," Journal of Machine Learning Research, pp. 887 - 919, December, 2002.

BibTeX Reference
   author = "Bryan Singer and Manuela Veloso",
   title = "Learning to Construct Fast Signal Processing Implementations",
   journal = "Journal of Machine Learning Research",
   pages = "887 - 919",
   month = "December",
   year = "2002",