Capri: A Control System for Approximate Programs
Swarnendu Biswas, Yan Pei, Donald S. Fussell, Keshav Pingali

TL;DR
Capri is a control system that uses machine learning to optimize approximation levels in programs, balancing resource usage and accuracy through a constrained optimization approach.
Contribution
This work introduces Capri, a novel system that controls approximation in non-streaming programs by modeling and optimizing resource-accuracy trade-offs using machine learning.
Findings
Effective control of approximation levels demonstrated on complex benchmarks
Machine learning models accurately predict cost and error metrics
Optimized knob settings improve resource efficiency while maintaining desired accuracy
Abstract
Approximate computing trades off accuracy of results for resources such as energy or computing time. There is a large and rapidly growing literature on approximate computing that has focused mostly on showing the benefits of approximation. However, we know relatively little about how to control approximation in a disciplined way. This document briefly describes our published work of controlling approximation for non-streaming programs that have a set of "knobs" that can be dialed up or down to control the level of approximation of different components in the program. The proposed system, Capri, solves this control problem as a constrained optimization problem. Capri uses machine learning to learn cost and error models for the program, and uses these models to determine, for a desired level of approximation, knob settings that optimize metrics such as running time or energy usage.…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Stochastic Gradient Optimization Techniques · Machine Learning and Algorithms
