Cross-layer Approximate Computing: From Circuits to Algorithms
Approximate computing frameworks configure applications so they can operate at a range of points in an accuracy-performance tradeoff space. Approximations at layers of system stack provides computation and energy efficiency via lower resource usage by allowing tolerable errors.
Instead of overprovisioning the resources at each layer, higher efficiency is achivable if we consider the system stack holistically. This thesis evaluates cross-layer approximate computing. We explore three problems: 1) How to compare approximate computing frameworks in
terms of accuracy-efficiency tradeoffs? 2) How to combine them without negating each other’s optimizations? 3) How to achieve significant end-to-end optimizations when the entire system stack is considered?
We address the first problem by providing an improved visualization algorithm to repre- sent tradeoff spaces. We treat the second problem by introducing a family of combination algorithms without complexifying design spaces. For the third problem, we bridge the gap of hardware and software layers by implementing an automated tool that helps users explore different levels of approximations at software level and then exploit its output to build a reduced-precision FPU at hardware level. An approximate memory framework is introduced to reduce memory energy via voltage overscaling over an on-chip cache.
We wrap up this thesis by forming the first holistic cross layer approximate framework which intergrates approximations at various layers and provides performance and energy improvements in return for minimal accuracy loss.
Saeid's advisor is Prof. Henry Hoffmann