Learning to approximate computing at run-time
Learning to approximate computing at run-time
复制标题
DOI:
10.1049/cp.2017.0361
复制
发表时间:
2017-12
期刊:
影响因子:
--
通讯作者:
Paulo Garcia;Mehryar Emambakhsh;A. Wallace
中科院分区:
文献类型:
--
作者:
Paulo Garcia;Mehryar Emambakhsh;A. Wallace
Intelligent sensor/signal processing systems are increasingly constrained by tight power budgets, especially when deployed in mobile/remote environments. Approximate computing is the process of adaptively compromising the accuracy of a system's output in order to obtain higher performance for other metrics, such as power consumption or memory usage, for applications resilient to inaccurate computations. It is, however, usually statically implemented, based on heuristics and testing loops, which prevents switching between different approximations at run-time. This limits approximation versatility and results in under- or over-approximated systems for the specific input data, causing excessive power usage and/or insufficient accuracy, respectively. To avoid these issues, this paper proposes a new approximate computing approach by introducing a supervisor block embedding prior knowledge about runtime data. The target system (i.e., signal processing pipeline) is implemented with configurable levels and types of approximations [1]. Data processed by the target system is analysed by the supervisor and the approximation is updated dynamically, by using prior knowledge to establish a confidence measure on the accuracy of the computed results. Moreover, by iteratively evaluating the output, the supervisor block can learn and subsequently update tunable parameters, to improve the quality of the results. We detail and evaluate this approach for tracking problem in computer vision. Results show our approach yields promising trade-offs between accuracy and power consumption, achieving 2.54% energy saving for our case study.