Abstract
This chapter focuses on approximate computing (AC), a set of software- and primarily hardware-level techniques in which algorithm accuracy is traded for energy consumption by deliberately introducing acceptable errors into the computing process. It is hence a means of efficiently exploiting a neural network’s fault-tolerance to reduce its energy consumption, as was first discussed on the system level in Chap. 3. Approximate computing techniques have become crucial to reduce energy in modern neural network acceleration, as computational and storage demands are still high and traditional methods in device engineering and architectural design fail to significantly reduce those costs. The first part of this chapter is a general introduction to common approximate computing techniques on several levels of the design hierarchy. The second part focuses on dynamic-voltage-accuracy-frequency-scaling (DVAFS), a third major contribution of this text. It is a dynamic arithmetic precision scaling method on the circuit-level that enables minimum energy test-time FPNNs and QNNs, as discussed in Chap. 3. Chapter 5 discusses two physically implemented CNN chips that apply this DVAFS technique in real silicon. BinarEye, discussed in Chap. 6, can be used in DVAFS modes as well.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Andrae A (2017) Consumer power consumption forecast T. In: Nordic Digital Business Summit, Helsinki
Baek W, Chilimbi TM (2010) Green: a framework for supporting energy-conscious programming using controlled approximation. In: ACM Sigplan notices, vol 45. ACM, New York, pp 198–209
Booth AD (1951) A signed binary multiplication technique. Q J Mech Appl Math 4(2):236–240
Brent RP, Kung HT (1982) A regular layout for parallel adders. IEEE Trans Comput C-31(3): 260–264
Camus V, Schlachter J, Enz C, Gautschi M, Gurkaynak FK (2016) Approximate 32-bit floating-point unit design with 53% power-area product reduction. In: 42nd European solid-state circuits conference, ESSCIRC conference 2016. IEEE, pp 465–468
Carbin M, Misailovic S, Rinard MC (2013) Verifying quantitative reliability for programs that execute on unreliable hardware. In: ACM SIGPLAN notices, vol 48. ACM, New York, pp 33–52
Chippa VK, Chakradhar ST, Roy K, Raghunathan A (2013) Analysis and characterization of inherent application resilience for approximate computing. In: Proceedings of the 50th ACM annual design automation conference, p 113
Ernst D, Kim NS, Das S, Pant S, Rao R, Pham T, Ziesler C, Blaauw D, Austin T, Flautner K, et al (2003) Razor: a low-power pipeline based on circuit-level timing speculation. In: Proceedings of the 36th annual IEEE/ACM international symposium on microarchitecture. IEEE Computer Society, Washington, DC, p 7
de la Guia Solaz M, Conway R (2014) Razor based programmable truncated multiply and accumulate, energy reduction for efficient digital signal processing. Trans VLSI syst 23: 189–193
de la Guia Solaz M, Han W, Conway R (2012) A flexible low power DSP with a programmable truncated multiplier. In: TCAS-I
Han J, Orshansky M (2013) Approximate computing: an emerging paradigm for energy-efficient design. In: 2013 18th IEEE European test symposium (ETS). IEEE, pp 1–6
Hegde R, Shanbhag NR (1999) Energy-efficient signal processing via algorithmic noise-tolerance. In: Proceedings of the 1999 international symposium on low power electronics and design. IEEE, pp 30–35
Hegde R, Shanbhag N (2001) Soft digital signal processing. IEEE Trans Very Large Scale Integr VLSI Syst 9(6):813–823
Horowitz M (2014) 1.1 computing’s energy problem (and what we can do about it). In: IEEE international solid-state circuits conference (ISSCC). IEEE, pp 10–14
Jiang H, Han J, Lombardi F (2015) A comparative review and evaluation of approximate adders. In: Proceedings of the 25th edition on great lakes symposium on VLSI. ACM, New York, pp 343–348
Kahng AB, Kang S, Kumar R, Sartori J (2010) Slack redistribution for graceful degradation under voltage overscaling. In: Proceedings of the 2010 Asia and South Pacific design automation conference. IEEE Press, pp 825–831
Kulkarni P, Gupta P, Ercegovac M (2011) Trading accuracy for power with an underdesigned multiplier architecture. In: International conference on VLSI design
Kyaw KY, et al (2011) Low-power high-speed multiplier for error-tolerant application. In: Electron devices and solid-state circuits (EDSSC)
Liu C, Han J, Lombardi F (2014) A low-power, high performance approximate multiplier with configurable partial error recovery. In: Design, automation and test in Europe (DATE)
Misailovic S, Carbin M, Achour S, Qi Z, Rinard MC (2014) Chisel: reliability-and accuracy-aware optimization of approximate computational kernels. In: ACM SIGPLAN notices, vol 49. ACM, New York, pp 309–328
Mittal S (2016) A survey of techniques for approximate computing. ACM Comput Surv (CSUR) 48(4):62
Moons B, Verhelst M (2015) DVAS: dynamic voltage accuracy scaling for increased energy-efficiency in approximate computing. In: International symposium on low power electronics and design (ISLPED). https://doi.org/10.1109/ISLPED.2015.7273520
Moons B, Verhelst M (2016) A 0.3-2.6 tops/w precision-scalable processor for real-time large-scale convnets. In: Proceedings of the IEEE symposium on VLSI circuits, pp 178–179
Moons B, Verhelst M (2017) An energy-efficient precision-scalable convnet processor in 40-nm CMOS. IEEE J Solid State Circuits 52(4):903–914
Moons B, De Brabandere B, Van Gool L, Verhelst M (2016) Energy-efficient convnets through approximate computing. In: Proceedings of the IEEE winter conference on applications of computer vision (WACV), pp 1–8
Moons B, Uytterhoeven R, Dehaene W, Verhelst M (2017a) DVAFS: trading computational accuracy for energy through dynamic-voltage-accuracy-frequency-scaling. In: 2017 Design, automation & test in Europe conference & exhibition (DATE). IEEE, pp 488–493
Moons B, Uytterhoeven R, Dehaene W, Verhelst M (2017b) Envision: a 0.26-to-10 tops/w subword-parallel dynamic-voltage-accuracy-frequency-scalable convolutional neural network processor in 28nm FDSOI. In: International solid-state circuits conference (ISSCC)
Pagliari DJ, Durand Y, Coriat D, Molnos A, Beigne E, Macii E, Poncino M (2017) A methodology for the design of dynamic accuracy operators by runtime back bias. In: 2017 design, automation & test in Europe conference & exhibition (DATE). IEEE, pp 1165–1170
Park J, Choi JH, Roy K (2010) Dynamic bit-width adaptation in DCT: an approach to trade off image quality and computation energy. IEEE Trans Very Large Scale Integr VLSI Syst 18(5):787–793
Ranjan A, Raha A, Venkataramani S, Roy K, Raghunathan A (2014) ASLAN: synthesis of approximate sequential circuits. In: Proceedings of the conference on design, automation & test in Europe, European design and automation association, p 364
Samadi M, Lee J, Jamshidi DA, Hormati A, Mahlke S (2013) Sage: self-tuning approximation for graphics engines. In: 2013 46th annual IEEE/ACM international symposium on microarchitecture (MICRO). IEEE, pp 13–24
Sampson A, Dietl W, Fortuna E, Gnanapragasam D, Ceze L, Grossman D (2011) Enerj: approximate data types for safe and general low-power computation. In: ACM SIGPLAN notices, vol 46. ACM, New York, pp 164–174
Sidiroglou-Douskos S, Misailovic S, Hoffmann H, Rinard M (2011) Managing performance vs. accuracy trade-offs with loop perforation. In: Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on foundations of software engineering. ACM, New York, pp 124–134
Sorber J, Kostadinov A, Garber M, Brennan M, Corner MD, Berger ED (2007) Eon: a language and runtime system for perpetual systems. In: Proceedings of the 5th international conference on embedded networked sensor systems. ACM, New York, pp 161–174
Usami K, Horowitz M (1995) Clustered voltage scaling technique for low-power design. In: International symposium on low power design (ISLPED)
Venkataramani S, Sabne A, Kozhikkottu V, Roy K, Raghunathan A (2012) Salsa: systematic logic synthesis of approximate circuits. In: Proceedings of the 49th annual design automation conference. ACM, New York, pp 796–801
Venkataramani S, et al (2013) Quality programmable vector processors for approximate computing. In: MICRO
Vercruysse L, Uytterhoeven R (2015) Energiewinst door good-enough computing: introductie van at run-time aanpasbare precisie in digitale circuits. PhD thesis, KU Leuven, Departement Elektrotechniek, moons, Bert and Verhelst, Marian (supervisor)
Whitney J, Delforge P (2014) Data center efficiency assessment. Issue paper on NRDC (The Natural Resource Defense Council)
Wu B, Willems M (2015) Rapid architectural exploration in designing application-specific processors. In: ASIP designer whitepaper
Xu Q, Mytkowicz T, Kim NS (2016) Approximate computing: a survey. IEEE Des Test 33(1):8–22
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Moons, B., Bankman, D., Verhelst, M. (2019). Circuit Techniques for Approximate Computing. In: Embedded Deep Learning. Springer, Cham. https://doi.org/10.1007/978-3-319-99223-5_4
Download citation
DOI: https://doi.org/10.1007/978-3-319-99223-5_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-99222-8
Online ISBN: 978-3-319-99223-5
eBook Packages: EngineeringEngineering (R0)