Capri: A Control System for Approximate Programs

06/02/2017
by   Swarnendu Biswas, et al.
0

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. Experimental results with complex benchmarks from different problem domains demonstrate the effectiveness of this approach. This report outlines improvements and extensions to the existing Capri system to address its limitations, including a complete rewrite of the software, and discusses directions for follow up work. The document also includes instructions and guidelines for using the new Capri infrastructure.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/31/2019

Towards a General Framework for Static Cost Analysis of Parallel Logic Programs

The estimation and control of resource usage is now an important challen...
research
03/18/2020

Automatic accuracy management of quantum programs via (near-)symbolic resource estimation

When compiling programs for fault-tolerant quantum computers, approximat...
research
11/12/2017

An introduction to approximate computing

Approximate computing is a research area where we investigate a wide spe...
research
10/27/2019

Cilkmem: Algorithms for Analyzing the Memory High-Water Mark of Fork-Join Parallel Programs

Software engineers designing recursive fork-join programs destined to ru...
research
11/12/2019

MCPA: Program Analysis as Machine Learning

Static program analysis today takes an analytical approach which is quit...
research
02/27/2019

Provable Approximations for Constrained ℓ_p Regression

The ℓ_p linear regression problem is to minimize f(x)=||Ax-b||_p over x∈...
research
02/16/2021

Comparing and Combining Approximate Computing Frameworks

Approximate computing frameworks configure applications so they can oper...

Please sign up or login with your details

Forgot password? Click here to reset