This work is funded by DARPA under PASTA.
Our process for making a suite of algorithms on a system power-aware is
As an example, the suite of acoustic algorithms we are currently making power aware is shown below

Software knobs are parameters in the algorithms that directly affect the accuracy of the result and the execution time of the code on a specific processor. What algorithm is chosen to perform a task can also be thought of as a software knob. Software knobs can include:
System knobs are parameters which have a greater impact on the overall system energy requirements. Although they may be beyond the scope of software knobs they can be extensions of software knobs. System knobs do not directly impact the accuracy of the algorithms, so much as adjust the system resource allocation to provide the minimum services required by the algorithms. System knobs can include:
There are a number of principals for improving the execution time (CPU energy) required to run an algorithm. Many of these principals are implemented automatically by optimizing compilers, with varying degrees of success. Common optimization principals include
In support of implementing complex signal processing algorithms in integer math, we are constructing libraries of integer functions.