Title:
ExpAX: A Framework for Automating Approximate Programming

Thumbnail Image
Author(s)
Park, Jongse
Zhang, Xin
Ni, Kangqi
Esmaeilzadeh, Hadi
Naik, Mayur
Authors
Advisor(s)
Advisor(s)
Editor(s)
Associated Organization(s)
Organizational Unit
Organizational Unit
Supplementary to
Abstract
We present ExpAX, a framework for automating approximate programming. ExpAX consists of these three components: (1) a programming model based on a new kind of program specification, which we refer to as error expectations. Our programming model enables programmers to implicitly relax the accuracy constraints without explicitly marking operations as approximate; (2) an approximation safety analysis that automatically infers a safe-to-approximate set of program operations; and (3) an optimization that automatically marks a subset of the safe-to-approximate operations as approximate while statistically adhering to the error expectations. We evaluate ExpAX on a diverse set of Java applications. The results show that ExpAX provides significant energy savings (up to 35%) with large reduction in programmer effort (between 3x to 113x ) while providing formal safety and statistical quality-of-result guarantees.
Sponsor
Date Issued
2014
Extent
Resource Type
Text
Resource Subtype
Technical Report
Rights Statement
Rights URI