Towards Reversed Approximate Hardware Design

Approximate computing is an emerging design paradigm for trading off computational accuracy for computational effort. Due to their inherited error resilience many applications significantly benefit from approximate computing. To realize approximation, dedicated approximate circuits have been developed and provide a solid foundation for energy and time efficient computing. However, when it comes to the design and integration of the approximate HW, complex error analysis is required to determine the effect of the error with respect to application specific error norms. This frequently leads to sub-optimal results. In this work, we propose to reverse the typical design flow for approximate HW and demonstrate the new flow for a first application: LU-Factorization, which is one of the most basic and most popular numerical algorithm known. The general idea of the reversed flow for approximate HW design is to start with the application and determine the required computational accuracy such that the computational error of the result is below the application specific error bound. This allows us to push the approximate HW to its limits, while guaranteeing that the result is correct by construction wrt. the requirements. The effectiveness of our approach for LU-Factorization is shown on a well-known and large set of benchmarks.

[1]  Ing-Chao Lin,et al.  High accuracy approximate multiplier with error correction , 2013, 2013 IEEE 31st International Conference on Computer Design (ICCD).

[2]  Kaushik Roy,et al.  SALSA: Systematic logic synthesis of approximate circuits , 2012, DAC Design Automation Conference 2012.

[3]  Rolf Drechsler,et al.  BDD minimization for approximate computing , 2016, 2016 21st Asia and South Pacific Design Automation Conference (ASP-DAC).

[4]  Ergé,et al.  Energy backward error : interpretation in numerical solution of elliptic partial differential equations and behaviour in the conjugate gradient method , 2013 .

[5]  H. Anton,et al.  Elementary linear algebra : applications version , 2008 .

[6]  Rolf Drechsler,et al.  Error Bounded Exact BDD Minimization in Approximate Computing , 2017, 2017 IEEE 47th International Symposium on Multiple-Valued Logic (ISMVL).

[7]  Andrew B. Kahng,et al.  Accuracy-configurable adder for approximate arithmetic designs , 2012, DAC Design Automation Conference 2012.

[8]  Trevor Mudge,et al.  Razor: a low-power pipeline based on circuit-level timing speculation , 2003, Proceedings. 36th Annual IEEE/ACM International Symposium on Microarchitecture, 2003. MICRO-36..

[9]  F. Stummel Perturbation theory for evaluation algorithms of arithmetic expressions , 1981 .

[10]  Kaushik Roy,et al.  MACACO: Modeling and analysis of circuits for approximate computing , 2011, 2011 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[11]  Rolf Drechsler,et al.  Precise error determination of approximated components in sequential circuits with model checking , 2016, 2016 53nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[12]  Muhammad Shafique,et al.  A low latency generic accuracy configurable adder , 2015, 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[13]  Rolf Drechsler,et al.  Approximate hardware generation using symbolic computer algebra employing grobner basis , 2018, 2018 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[14]  Rolf Drechsler,et al.  Approximation-aware rewriting of AIGs for error tolerant applications , 2016, 2016 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[15]  Qiang Xu,et al.  ApproxIt: An approximate computing framework for iterative methods , 2014, 2014 51st ACM/EDAC/IEEE Design Automation Conference (DAC).

[16]  John Sartori,et al.  Designing a processor from the ground up to allow voltage/reliability tradeoffs , 2010, HPCA - 16 2010 The Sixteenth International Symposium on High-Performance Computer Architecture.

[17]  Timothy A. Davis,et al.  The SuiteSparse Matrix Collection Website Interface , 2019, J. Open Source Softw..

[18]  C. D. Boor,et al.  Backward error analysis for totally positive linear systems , 1976 .

[19]  David S. Watkins,et al.  Fundamentals of matrix computations , 1991 .

[20]  Gang Wang,et al.  Enhanced low-power high-speed adder for error-tolerant application , 2009, 2010 International SoC Design Conference.

[21]  Rob A. Rutenbar,et al.  Reducing power by optimizing the necessary precision/range of floating-point arithmetic , 2000, IEEE Trans. Very Large Scale Integr. Syst..