Abstract

Approximate computing (AC) is an emerging computation paradigm that utilizes many applications’ intrinsic error resilience to improve power and energy efficiency. Several approaches have been proposed to identify the noncritical computations by analyzing the output sensitivity to the accuracy of the results, and then perform approximation on these computations. However, these static approaches only use the prior knowledge (e.g., input ranges) for analysis and fail to consider the runtime information, which limits the energy saving and incurs large computation error. In this paper, we propose a runtime AC framework to solve this problem. The basic idea is to use a low cost method to estimate the impact of each immediate input value to the accuracy of computation at every node in the data flow graph (DFG), and then decide whether we should simply use the estimated value or perform an accurate computation. Our novel runtime estimation method is based on converting data to the logarithmic representation. We propose two algorithms to make the decision at certain nodes whether an accurate computation will be needed to balance energy saving and computation error. Compared to the static DFG node cutting approach, our approach’s estimation accuracy is $32 {\times }$ better to achieve the same amount of energy saving. Furthermore, we combine our dynamic design methodology with the traditional static approach and propose a new algorithm to improve the runtime efficiency. We apply this algorithm to two machine learning algorithms, ${k}$ -means and perceptron. The results show that we can save up to 57.22% computations with only 0.27% error in ${k}$ -means and 91.41% with 0.72% error in perceptron.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call