Abstract
When a computational task tolerates a relaxation of its specification or when an algorithm tolerates the effects of noise in its execution, hardware, system software, and programming language compilers or their runtime systems can trade deviations from correct behavior for lower resource usage. We present, for the first time, a synthesis of research results on computing systems that only make as many errors as their end-to-end applications can tolerate. The results span the disciplines of computer-aided design of circuits, digital system design, computer architecture, programming languages, operating systems, and information theory. Rather than over-provisioning the resources controlled by each of these layers of abstraction to avoid errors, it can be more efficient to exploit the masking of errors occurring at one layer and thereby prevent those errors from propagating to a higher layer.
We demonstrate the potential benefits of end-to-end approaches using two illustrative examples. We introduce a formalization of terminology that allows us to present a coherent view across the techniques traditionally used by different research communities in their individual layer of focus. Using this formalization, we survey tradeoffs for individual layers of computing systems at the circuit, architecture, operating system, and programming language levels as well as fundamental information-theoretic limits to tradeoffs between resource usage and correctness.
- Sara Achour and Martin C. Rinard. 2015. Approximate computation with outlier detection in topaz. In Proceedings of the International Conference on Object-Oriented Programming, Systems, Languages, and Applications. 711--730.Google Scholar
- Sameer Agarwal, Barzan Mozafari, Aurojit Panda, Henry Milner, Samuel Madden, and Ion Stoica. 2013. BlinkDB: Queries with bounded errors and bounded response times on very large data. In Proceedings of the European Conference on Computer Systems. 29--42.Google ScholarDigital Library
- Ismail Akturk, Karen Khatamifard, and Ulya R. Karpuzcu. 2015. On quantification of accuracy loss in approximate computing. In Proceedings of the Workshop on Duplicating, Deconstructing and Debunking (WDDD’15). 15.Google Scholar
- Armin Alaghi and John P. Hayes. 2013. Survey of stochastic computing. ACM Trans. Embed. Comput. Syst. 12, 2s (2013), 92:1--92:19.Google ScholarDigital Library
- Armin Alaghi and John P. Hayes. 2014. Fast and accurate computation using stochastic circuits. In Proceedings of the Design, Automation Test in Europe Conference (DATE’14). 1--4.Google Scholar
- Armin Alaghi, Weikang Qian, and John P. Hayes. 2018. The promise and challenge of stochastic computing. IEEE Trans. Comput.-Aided Design Integr. Circ. Syst. 37, 8 (2018), 1515–1531. DOI:10.1109/TCAD.2017.2778107Google ScholarCross Ref
- Rajeevan Amirtharajah and Anantha P. Chandrakasan. 2004. A micropower programmable DSP using approximate signal processing based on distributed arithmetic. IEEE J. Solid-State Circ. 39, 2 (2004), 337--347.Google ScholarCross Ref
- Jason Ansel, Cy Chan, Yee Lok Wong, Marek Olszewski, Qin Zhao, Alan Edelman, and Saman Amarasinghe. 2009. PetaBricks: A language and compiler for algorithmic choice. In Proceedings of the Conference on Programming Language Design and Implementation (PLDI’09). 38--49.Google ScholarDigital Library
- Jason Ansel, Yee Lok Wong, Cy Chan, Marek Olszewski, Alan Edelman, and Saman Amarasinghe. 2011. Language and compiler support for auto-tuning variable-accuracy algorithms. In Proceedings of the International Symposium on Code Generation and Optimization (CGO’11). IEEE Computer Society, 85--96.Google ScholarCross Ref
- Alexander Aponte-Moreno, Alejandro Moncada, Felipe Restrepo-Calle, and Cesar Pedraza. 2018. A review of approximate computing techniques towards fault mitigation in HW/SW systems. In Proceedings of the Latin-American Test Symposium (LATS’18). 1--6.Google ScholarCross Ref
- Hakan Aydın, Rami Melhem, and Daniel Mossé. 1999. Incorporating error recovery into the imprecise computation model. In Proceedings of the International Conference on Real-Time Computing Systems and Applications. 348--355.Google ScholarCross Ref
- Woongki Baek and Trishul M. Chilimbi. 2010. Green: A framework for supporting energy-conscious programming using controlled approximation. In Proceedings of the Conference on Programming Language Design and Implementation (PLDI’10). 198--209.Google Scholar
- Nilanjan Banerjee, Georgios Karakonstantis, and Kaushik Roy. 2007. Process variation tolerant low power DCT architecture. In Proceedings of the Design, Automation Test in Europe Conference. 1--6.Google ScholarDigital Library
- Benjamin Barrois, Olivier Sentieys, and Daniel Menard. 2017. The hidden cost of functional approximation against careful data sizing—A case study. In Proceedings of the Design, Automation Test in Europe. 181--186.Google ScholarCross Ref
- Luiz A. Barroso and Urs Hölzle. 2007. The case for energy-proportional computing. IEEE Comput. 40, 12 (2007), 33--37.Google ScholarDigital Library
- Charles H. Bennett and Rolf Landauer. 1985. The fundamental physical limits of computation. Sci. Amer. 253, 1 (1985), 48--56.Google Scholar
- T. Berger and J. D. Gibson. 1998. Lossy source coding. IEEE Trans. Info. Theory 44, 6 (1998), 2693–2723. DOI:10.1109/18.720552Google ScholarDigital Library
- James Bornholt, Todd Mytkowicz, and Kathryn S. McKinley. 2014. Uncertain<T>: A first-order type for uncertain data. In Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’14). 51--66.Google Scholar
- Daniele Bortolotti, Hossein Mamaghanian, Andrea Bartolini, Maryam Ashouei, Jan Stuijt, David Atienza, Pierre Vandergheynst, and Luca Benini. 2014. Approximate compressed sensing: Ultra-low power biosignal processing via aggressive voltage scaling on a hybrid memory multi-core processor. In Proceedings of the International Symposium on Low Power Electronics and Design. 45--50.Google ScholarDigital Library
- Brett Boston, Zoe Gong, and Michael Carbin. 2018. Leto: Verifying application-specific hardware fault tolerance with programmable execution models. Proc. ACM Program. Lang. 2 (2018), 1--30.Google ScholarDigital Library
- Brett Boston, Adrian Sampson, Dan Grossman, and Luis Ceze. 2015. Probability type inference for flexible approximate programming. In Proceedings of the International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA’15). 470--487.Google ScholarDigital Library
- Rahul Boyapati, Jiayi Huang, Pritam Majumder, Ki Hwan Yum, and Eun Jung Kim. 2017. APPROX-NoC: A data approximation framework for network-on-chip architectures. In Proceedings of the International Symposium on Computer Architecture (ISCA’17). 666--677.Google ScholarDigital Library
- Melvin Breuer. 2005. Multi-media applications and imprecise computation. In Proceedings of the Euromicro Conference on Digital System Design. 2--7.Google ScholarDigital Library
- Michael Bromberger, Wolfgang Karl, and Vincent Heuveline. 2015. Exploiting approximate computing methods in FPGAs to accelerate stereo correspondence algorithms. In Proceedings of the Workshop On Approximate Computing.Google Scholar
- Mark Buckler, Suren Jayasuriya, and Adrian Sampson. 2017. Reconfiguring the imaging pipeline for computer vision. In Proceedings of the International Conference on Computer Vision (ICCV’17).Google ScholarCross Ref
- Richard L. Burden, J. Douglas Faires, and Annette M. Burden. 2015. Numerical Analysis. Brooks Cole.Google Scholar
- Jose Cambronero, Phillip Stanley-Marbell, and Martin Rinard. 2018. Incremental color quantization for color-vision-deficient observers using mobile gaming data. CoRR abs/1803.08420.Google Scholar
- Simone Campanoni, Glenn Holloway, Gu-Yeon Wei, and David Brooks. 2015. HELIX-UP: Relaxing program semantics to unleash parallelization. In Proceedings of the International Symposium on Code Generation and Optimization (CGO’15). IEEE/ACM, 235--245.Google ScholarCross Ref
- M. Carbin, D. Kim, S. Misailovic, and M. Rinard. 2012. Proving acceptability properties of relaxed nondeterministic approximate programs. In Proceedings of the Conference on Programming Language Design and Implementation (PLDI’12). ACM, 169--180.Google Scholar
- Michael Carbin, Sasa Misailovic, and Martin C. Rinard. 2013. Verifying quantitative reliability for programs that execute on unreliable hardware. In Proceedings of the International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA’13). 33--52.Google Scholar
- Lakshmi N. Chakrapani, Pinar Korkmaz, Bilge E. S. Akgul, and Krishna V. Palem. 2007. Probabilistic system-on-a-chip architectures. ACM Trans. Design Autom. Electron. Syst. 12, 3 (2007), 29.Google ScholarDigital Library
- Ik Joon Chang, Debabrata Mohapatra, and Kaushik Roy. 2011. A priority-based 6T/8T hybrid SRAM architecture for aggressive voltage scaling in video applications. IEEE Trans. Circ. Syst. Video Technol. 21, 2 (2011), 101--112.Google ScholarDigital Library
- Avhishek Chatterjee and Lav R. Varshney. 2016. Energy-reliability limits in nanoscale circuits. In Proceedings of Information Theory and Applications Workshop (ITA’16). 1--6.Google Scholar
- Swarat Chaudhuri, Sumit Gulwani, Roberto Lublinerman, and Sara Navidpour. 2011. Proving programs robust. In Proceedings of the Symposium and the European Conference on Foundations of Software Engineering (ESEC/FSE’11). 102--112.Google ScholarDigital Library
- Suresh Cheemalavagu, Pinar Korkmaz, Krishna V. Palem, Bilge E. S. Akgul, and Lakshmi N. Chakrapani. 2005. A probabilistic CMOS switch and its realization by exploiting noise. In Proceedings of International Conference on VLSI. IFIP, 535--541.Google Scholar
- Hao Chen, Lav R. Varshney, and Pramod K. Varshney. 2014. Noise-enhanced information systems. Proc. IEEE 102, 10 (2014), 1607--1621.Google ScholarCross Ref
- Wenlin Chen, James T. Wilson, Stephen Tyree, Kilian Q. Weinberger, and Yixin Chen. 2015. Compressing neural networks with the hashing trick. CoRR abs/1504.04788.Google Scholar
- Wei-Chung Cheng and Massoud Pedram. 2001. Memory bus encoding for low power: A tutorial. In Proceedings of International Symposium on Quality Electronic Design (ISQED’01). IEEE, 199--204.Google Scholar
- Wei-Fan Chiang, Mark Baranowski, Ian Briggs, Alexey Solovyev, Ganesh Gopalakrishnan, and Zvonimir Rakamarić. 2017. Rigorous floating-point mixed-precision tuning. In Proceedings of Principles of Programming Languages (POPL’17).Google ScholarDigital Library
- Vinay Chippa, Anand Raghunathan, Kaushik Roy, and Srimat Chakradhar. 2011. Dynamic effort scaling: Managing the quality-efficiency tradeoff. In Proceedings of the Design Automation Conference (DAC’11). ACM/EDAC/IEEE, 603--608.Google ScholarDigital Library
- Vinay K. Chippa, Srimat T. Chakradhar, Kaushik Roy, and Anand Raghunathan. 2013. Analysis and characterization of inherent application resilience for approximate computing. In Proceedings of the Design Automation Conference (DAC’13). ACM/EDAC/IEEE, 113.Google ScholarDigital Library
- Vinay K. Chippa, Debabrata Mohapatra, Anand Raghunathan, Kaushik Roy, and Srimat T. Chakradhar. 2010. Scalable effort hardware design: Exploiting algorithmic resilience for energy efficiency. In Proceedings of the Design Automation Conference (DAC’10). ACM/EDAC/IEEE, 555--560.Google Scholar
- R. J. Cole, B. M. Maggs, and R. K. Sitaraman. 1997. Reconfiguring arrays with faults part I: Worst-case faults. SIAM J. Comput. 26, 6 (Dec. 1997), 1581--1611.Google ScholarDigital Library
- Christian Constanda. 2017. Numerical Methods. In Differential Equations. Springer Undergraduate Texts in Mathematics and Technology. Springer.Google Scholar
- Matthieu Courbariaux, Yoshua Bengio, and Jean-Pierre David. 2015. BinaryConnect: Training deep neural networks with binary weights during propagations. CoRR abs/1511.00363.Google Scholar
- Germund Dahlquist and Åke Björk. 2008. Numerical Methods in Scientific Computing. Society for Industrial and Applied Mathematics.Google Scholar
- Eva Darulova, Einar Horn, and Saksham Sharma. 2018. Sound mixed-precision optimization with rewriting. In Proceedings of the International Conference on Cyber-Physical Systems (ICCPS’18).Google ScholarDigital Library
- Enrico A. Deiana, Vincent St.-Amour, Peter A. Dinda, Nikos Hardavellas, and Simone Campanoni. 2018. Unconventional parallelization of nondeterministic applications. In Proceedings of the 23rd International Conference on Architectural Support for Programming Languages and Operating Systems. 432--447.Google ScholarDigital Library
- Emily Denton, Wojciech Zaremba, Joan Bruna, Yann LeCun, and Rob Fergus. 2014. Exploiting linear structure within convolutional networks for efficient evaluation. CoRR abs/1404.0736.Google Scholar
- J. A. Dickson, R. D. McLeod, and H. C. Card. 1993. Stochastic arithmetic implementations of neural networks with in situ learning. In Proceedings of the International Conference on Neural Networks. IEEE, 711--716.Google Scholar
- Zidong Du, Avinash Lingamneni, Yunji Chen, Krishna Palem, Olivier Temam, and Chengyong Wu. 2014. Leveraging the error resilience of machine-learning applications for designing highly energy efficient accelerators. In Proceedings of Asia and South Pacific Design Automation Conference (ASP-DAC’14). IEEE, 201--206.Google Scholar
- Pradeep Dubey. 2005. Recognition, mining and synthesis moves computers to the era of tera. Technol. Intel Mag. 9, 2 (2005), 1--10.Google Scholar
- Bo Einarsson. 2005. Accuracy and Reliability in Scientific Computing. Society for Industrial and Applied Mathematics.Google Scholar
- Peter Elias. 1958. Computation in the presence of noise. IBM J. Res. Dev. 2, 4 (1958), 346--353.Google ScholarDigital Library
- Dan Ernst, Nam Sung Kim, Shidhartha Das, Sanjay Pant, Rajeev Rao, Toan Pham, Conrad Ziesler, David Blaauw, Todd Austin, Krisztian Flautner, and Trevor Mudge. 2003. Razor: A low-power pipeline based on circuit-level timing speculation. In Proceedings of the International Symposium on Microarchitecture (MICRO’03). IEEE/ACM.Google ScholarCross Ref
- Hadi Esmaeilzadeh, Adrian Sampson, Luis Ceze, and Doug Burger. 2012. Architecture support for disciplined approximate programming. In Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’12). ACM, 301--312.Google ScholarDigital Library
- Hadi Esmaeilzadeh, Adrian Sampson, Luis Ceze, and Doug Burger. 2012. Neural acceleration for general-purpose approximate programs. In Proceedings of the International Symposium on Microarchitecture (MICRO’12). 449--460.Google ScholarDigital Library
- William Evans and Nicholas Pippenger. 1998. On the maximum tolerable noise for reliable computation by formulas. IEEE Trans. Info. Theory 44, 3 (1998), 1299--1305.Google ScholarDigital Library
- Shuangde Fang, Zidong Du, Yuntan Fang, Yuanjie Huang, Yang Chen, Lieven Eeckhout, Olivier Temam, Huawei Li, Yunji Chen, and Chengyong Wu. 2014. Performance portability across heterogeneous SoCs using a generalized library-based approach. ACM Trans. Archit. Code Optim. 11, 2 (June 2014), 21:1--21:25.Google ScholarDigital Library
- Vimuth Fernando, Keyur Joshi, and Sasa Misailovic. 2019. Verifying safety and accuracy of approximate parallel programs via canonical sequentialization. Proc. ACM Program. Lang. 3, OOPSLA, Article 119 (October 2019), 29 pages. DOI:https://doi.org/10.1145/3360545Google ScholarDigital Library
- Mikhail Figurnov, Aizhan Ibraimova, Dmitry P. Vetrov, and Pushmeet Kohli. 2016. PerforatedCNNs: Acceleration through elimination of redundant convolutions. In Advances in Neural Information Processing Systems. MIT Press, 947--955.Google Scholar
- Daichi Fujiki, Kiyo Ishii, Ikki Fujiwara, Hiroki Matsutani, Hideharu Amano, Henri Casanova, and Michihiro Koibuchi. 2017. High-bandwidth low-latency approximate interconnection networks. In Proceedings of the International Symposium on High Performance Computer Architecture (HPCA’17). 469--480.Google ScholarCross Ref
- Brian R. Gaines. 1967. Stochastic computing. In Proceedings of the Joint Computer Conference. ACM, 149--156.Google ScholarDigital Library
- Shrikanth Ganapathy, Georgios Karakonstantis, Adam Teman, and Andreas Burg. 2015. Mitigating the impact of faults in unreliable memories for error-resilient applications. In Proceedings of the Design Automation Conference (DAC’15). ACM, 1--6.Google ScholarDigital Library
- Jason George, Bo Marr, Bilge ES Akgul, and Krishna V Palem. 2006. Probabilistic arithmetic and energy efficient embedded signal processing. In Proceedings of the International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES’06). ACM, 158--168.Google ScholarDigital Library
- G. A. Gillani and Andre B. J. Kokkeler. 2017. Improving error resilience analysis methodology of iterative workloads for approximate computing. In Proceedings of the Computing Frontiers Conference (CF’17). ACM, 374--379.Google Scholar
- Inigo Goiri, Ricardo Bianchini, Santosh Nagarakatte, and Thu D. Nguyen. 2015. ApproxHadoop: Bringing approximations to MapReduce frameworks. In Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’15). ACM, 383--397.Google Scholar
- Gene H. Golub and James M. Ortega. 2014. Scientific Computing and Differential Equations: An Introduction to Numerical Methods. Elsevier.Google Scholar
- Minglun Gong, Ruigang Yang, Liang Wang, and Mingwei Gong. 2007. A performance study on different cost aggregation approaches used in real-time stereo matching. Int. J. Comput. Vision 75, 2 (2007), 283--296.Google ScholarDigital Library
- Pulkit Grover. 2014. Is “Shannon-capacity of noisy computing” zero? In Proceedings of the International Symposium on Information Theory (ISIT’14). IEEE, 2854--2858.Google Scholar
- Qing Guo, Karin Strauss, Luis Ceze, and Henrique S. Malvar. 2016. High-density image storage using approximate memory cells. In Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’16). 413--426.Google Scholar
- Prabhat K. Gupta and Ramdas Kumaresan. 1988. Binary multiplication with PN sequences. IEEE Trans. Acoust. Speech Signal Process. 36, 4 (Apr. 1988), 603--606.Google ScholarCross Ref
- Vaibhav Gupta, Debabrata Mohapatra, Anand Raghunathan, and Kaushik Roy. 2013. Low-power digital signal processing using approximate adders. IEEE Trans. Comput.-Aided Design Integr. Circ. Syst. 32, 1 (2013), 124--137.Google ScholarDigital Library
- Jie Han and Michael Orshansky. 2013. Approximate computing: An emerging paradigm for energy-efficient design. In Proceedings of the European Test Symposium (ETS’13). IEEE, 1--6.Google ScholarCross Ref
- Song Han, Huizi Mao, and William J. Dally. 2015. Deep compression: Compressing deep neural network with pruning, trained quantization and huffman coding. CoRR abs/1510.00149.Google Scholar
- Soheil Hashemi, R. Iris Bahar, and Sherief Reda. 2015. DRUM: A dynamic range unbiased multiplier for approximate applications. In Proceedings of the IEEE/ACM International Conference on Computer-Aided Design (ICCAD’15). IEEE, 418--425.Google ScholarDigital Library
- Ku He, Andreas Gerstlauer, and Michael Orshansky. 2013. Circuit-level timing-error acceptance for design of energy-efficient DCT/IDCT-based systems. Trans. Circ. Syst. Video Technol. 23, 6 (2013), 961--974.Google ScholarDigital Library
- Shaobo He, Shuvendu K. Lahiri, and Zvonimir Rakamarić. 2018. Verifying relative safety, accuracy, and termination for program approximations. J. Autom. Reason. 60, 1 (January 2018), 23–42. DOI:https://doi.org/10.1007/s10817-017-9421-9Google ScholarDigital Library
- Rajamohana Hegde and Naresh R. Shanbhag. 1999. Energy-efficient signal processing via algorithmic noise-tolerance. In Proceedings of the International Symposium on Low Power Electronics and Design (ISLPED’99). ACM, 30--35.Google Scholar
- Rajamohana Hegde and Naresh R. Shanbhag. 2001. Soft digital signal processing. IEEE Trans. VLSI Syst. 9, 6 (2001), 813--823.Google ScholarDigital Library
- Nicholas Higham. 2002. Accuracy and Stability of Numerical Algorithms. Society for Industrial and Applied Mathematics.Google Scholar
- Henry Hoffmann. 2015. JouleGuard: Energy guarantees for approximate applications. In Proceedings of the 25th Symposium on Operating Systems Principles. 198--214.Google ScholarDigital Library
- Hoffmann, Henry, Sasa Misailovic, Stelios Sidiroglou, Anant Agarwal, and Martin Rinard. 2009. Using code perforation to improve performance, reduce energy consumption, and respond to failures. Retreived on May 2020 from http://hdl.handle.net/1721.1/46709.Google Scholar
- Henry Hoffmann, Stelios Sidiroglou, Michael Carbin, Sasa Misailovic, Anant Agarwal, and Martin Rinard. 2011. Dynamic knobs for responsive power-aware computing. In Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’11). ACM, 199--212.Google ScholarDigital Library
- Andrew G. Howard, Menglong Zhu, Bo Chen, Dmitry Kalenichenko, Weijun Wang, Tobias Weyand, Marco Andreetto, and Hartwig Adam. 2017. MobileNets: Efficient convolutional neural networks for mobile vision applications. CoRR abs/1704.04861.Google Scholar
- Chu-Hsiang Huang, Yao Li, and Lara Dolecek. 2015. ACOCO: Adaptive coding for approximate computing on faulty memories. IEEE Trans. Commun. 63, 12 (2015), 4615--4628.Google ScholarCross Ref
- David Hull and Jane Liu. 1993. ICS: A system for imprecise computations. In Proceedings of AIAA Computing in Aerospace, Vol. 9.Google ScholarCross Ref
- Forrest N. Iandola, Matthew W. Moskewicz, Khalid Ashraf, Song Han, William J. Dally, and Kurt Keutzer. 2016. SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and <1MB model size. CoRR abs/1602.07360.Google Scholar
- Anastasiia Izycheva, Eva Darulova, and Helmut Seidl. 2019. Synthesizing efficient low-precision kernels. In Proceedings of the 17th International Symposium on Automated Technology for Verification and Analysis (ATVA’19). 294--313.Google ScholarCross Ref
- Djordje Jevdjic, Karin Strauss, Luis Ceze, and Henrique S. Malvar. 2017. Approximate storage of compressed and encrypted videos. In Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems.Google Scholar
- Honglan Jiang, Cong Liu, Naman Maheshwari, Fabrizio Lombardi, and Jie Han. 2016. A comparative evaluation of approximate multipliers. In Proceedings of the IEEE/ACM International Symposium on Nanoscale Architectures. IEEE, 191--196.Google Scholar
- Keyur Joshi, Vimuth Fernando, and Sasa Misailovic. 2019. Statistical algorithmic profiling for randomized approximate programs. In Proceedings of the IEEE/ACM 41st International Conference on Software Engineering (ICSE’19). IEEE, 608--618.Google ScholarDigital Library
- Matthias Jung, Deepak M. Mathew, Christian Weis, and Norbert Wehn. 2016. Approximate computing with partially unreliable dynamic random access memory-approximate DRAM. In Proceedings of the 53rd Annual Design Automation Conference (DAC’16). ACM.Google ScholarDigital Library
- Andrew B. Kahng and Seokhyeong Kang. 2012. Accuracy-configurable adder for approximate arithmetic designs. In Proceedings of the 49th Annual Design Automation Conference (DAC’12). ACM, 820--825.Google Scholar
- Andrew B. Kahng, Seokhyeong Kang, Rakesh Kumar, and John Sartori. 2010. Slack redistribution for graceful degradation under voltage overscaling. In Proceedings of the Asia and South Pacific Design Automation Conference (ASPDAC’10). IEEE Press, 825--831.Google Scholar
- Srikanth Kandula, Anil Shanbhag, Aleksandar Vitorovic, Matthaios Olma, Robert Grandl, Surajit Chaudhuri, and Bolin Ding. 2016. Quickr: Lazily approximating complex adhoc queries in bigdata clusters. In Proceedings of the International Conference on Management of Data. ACM, 631--646.Google ScholarDigital Library
- Georgios Karakonstantis, Debabrata Mohapatra, and Kaushik Roy. 2009. System level DSP synthesis using voltage overscaling, unequal error protection and adaptive quality tuning. In IEEE Workshop on Signal Processing Systems.Google Scholar
- Walter J. Karplus and Walter W. Soroka. 1959. Analog Methods: Computation and Simulation. McGraw-Hill.Google Scholar
- R. Baker Kearfott, Mitsuhiro T. Nakao, Arnold Neumaier, Siegfried M. Rump, Sergey P. Shary, and Pascal van Hentenryck. 2010. Standardized notation in interval analysis. Comput. Technol. 15, 1 (2010), 7--13.Google Scholar
- Robert W. Keyes. 1985. What makes a good computer device?Science 230, 4722 (1985), 138--144.Google Scholar
- Daya S. Khudia, Babak Zamirai, Mehrzad Samadi, and Scott Mahlke. 2015. Rumba: An online quality management system for approximate computing. In Proceedings of the 42nd Annual International Symposium on Computer Architecture (ISCA’15). ACM, 554--566.Google ScholarDigital Library
- Jaeyoon Kim and Sandip Tiwari. 2014. Inexact computing using probabilistic circuits: Ultra low-power digital processing. ACM J. Emerg. Technol. Comput. Syst. 10, 2 (2014), 16.Google ScholarDigital Library
- Sung Kim, Patrick Howe, Thierry Moreau, Armin Alaghi, Luis Ceze, and Sathe Visvesh. 2018. MATIC: Learning around errors for efficient low-voltage neural network accelerators. In Proceedings of the Design Automation and Test in Europe Conference (DATE’18).Google ScholarCross Ref
- Younghyun Kim, Setareh Behroozi, Vijay Raghunathan, and Anand Raghunathan. 2017. AXSERBUS: A quality-configurable approximate serial bus for energy-efficient sensing. In Proceedings of the IEEE/ACM International Symposium on Low Power Electronics and Design (ISLPED’17). IEEE, 1--6.Google ScholarCross Ref
- Yong-Deok Kim, Eunhyeok Park, Sungjoo Yoo, Taelim Choi, Lu Yang, and Dongjun Shin. 2015. Compression of deep convolutional neural networks for fast and low power mobile applications. CoRR abs/1511.06530.Google Scholar
- Young-Chul Kim and M. A. Shanblatt. 1995. Architecture and statistical model of a pulse-mode digital multilayer neural network. IEEE Trans. Neural Netw. 6, 5 (Sep. 1995), 1109--1118.Google Scholar
- Phil Knag, Wei Lu, and Zhengya Zhang. 2014. A native stochastic computing architecture enabled by memristors. IEEE Trans. Nanotechnol. 13, 2 (Mar. 2014), 283--293.Google ScholarDigital Library
- Parag Kulkarni, Puneet Gupta, and Milos Ercegovac. 2011. Trading accuracy for power with an underdesigned multiplier architecture. In Proceedings of the 24th International Conference on VLSI Design (VLSI’11). IEEE, 346--351.Google ScholarDigital Library
- F. Kurdahi, A. Eltawil, K. Yi, S. Cheng, and A. Khajeh. 2010. Low-power multimedia system design by aggressive voltage scaling. IEEE Trans. VLSI Syst. 18, 5 (2010), 852--856.Google ScholarDigital Library
- Michael A Laurenzano, Parker Hill, Mehrzad Samadi, Scott Mahlke, Jason Mars, and Lingjia Tang. 2016. Input responsiveness: Using canary inputs to dynamically steer approximation. In Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation. 161--176.Google ScholarDigital Library
- Yann LeCun, Léon Bottou, Yoshua Bengio, and Patrick Haffner. 1998. Gradient-based learning applied to document recognition. Proc. IEEE 86, 11 (1998), 2278--2324.Google ScholarCross Ref
- Yann LeCun, John S. Denker, and Sara A. Solla. 1990. Optimal brain damage. In Advances in Neural Information Processing Systems. MIT Press, 598--605.Google Scholar
- Seogoo Lee, Lizy K. John, and Andreas Gerstlauer. 2017. High-level synthesis of approximate hardware under joint precision and voltage scaling. In Proceedings of the Design, Automation and Test in Europe (DATE’17). IEEE, 187--192.Google ScholarCross Ref
- Vincent T. Lee, Armin Alaghi, John P. Hayes, Visvesh Sathe, and Luis Ceze. 2017. Energy-efficient hybrid stochastic-binary neural networks for near-sensor computing. In Proceedings of the Design, Automation and Test in Europe (DATE’17). IEEE, 13--18.Google ScholarCross Ref
- Chaofan Li, Wei Luo, Sachin S. Sapatnekar, and Jiang Hu. 2015. Joint precision optimization and high level synthesis for approximate computing. In Proceedings of the 52nd ACM/EDAC/IEEE Design Automation Conference (DAC’15). IEEE, 1--6.Google ScholarDigital Library
- Shikai Li, Sunghyun Park, and Scott Mahlke. 2018. Sculptor: Flexible approximation with selective dynamic loop perforation. In Proceedings of the International Conference on Supercomputing. 341--351.Google ScholarDigital Library
- Avinash Lingamneni, Christian Enz, Krishna Palem, and Christian Piguet. 2011. Parsimonious circuits for error-tolerant applications through probabilistic logic minimization. In Proceedings of the 21st International Conference on Integrated Circuit and System Design: Power and Timing modeling, Optimization, and Simulation (PATMOS’11). Springer, 204--213.Google ScholarDigital Library
- Jane W. S. Liu, Kwei-Jay Lin, Wei-Kuan Shih, Albert Chuang-shi Yu, Jen-Yao Chung, and Wei Zhao. 1991. Algorithms for scheduling imprecise computations. Computer 24, 5 (1991), 58--68.Google ScholarDigital Library
- Jane W. S. Liu, Wei-Kuan Shih, Kwei-Jay Lin, Ricardo Bettati, and Jen-Yao Chung. 1994. Imprecise computations. Proc. IEEE 82, 1 (1994), 83--94.Google ScholarCross Ref
- Song Liu, Karthik Pattabiraman, Thomas Moscibroda, and Benjamin Zorn. 2011. Flikker: Saving DRAM refresh-power through critical data partition. In Proceedings of the 16th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’11). ACM.Google ScholarDigital Library
- Jeffrey W. Lockhart, Gary M. Weiss, Jack C. Xue, Shaun T. Gallagher, Andrew B. Grosner, and Tony T. Pulickal. 2011. Design considerations for the WISDM smart phone-based sensor mining architecture. In Proceedings of the 5th International Workshop on Knowledge Discovery from Sensor Data (SensorKDD’11). ACM, 25--33.Google Scholar
- Debasmita Lohar, Eva Darulova, Sylvie Putot, and Eric Goubault. 2018. Discrete choice in the presence of numerical uncertainties. IEEE Trans. CAD Integr. Circ. Syst. 37, 11 (2018), 2381--2392.Google ScholarCross Ref
- Debasmita Lohar, Milos Prokop, and Eva Darulova. 2019. Sound probabilistic numerical error analysis. In Proceedings of the 15th International Conference on Integrated Formal Methods (IFM’19). 322--340.Google ScholarCross Ref
- Li-ming Lou, Paul Nguyen, Jason Lawrence, and Connelly Barnes. 2016. Image perforation: Automatically accelerating image pipelines by intelligently skipping samples. ACM Trans. Graph. 35, 5 (2016), 153:1--153:14.Google Scholar
- Bruce J. MacLennan. 2009. Analog computation. In Encyclopedia of Complexity and Systems Science. Springer, 271--294.Google Scholar
- Hamid Reza Mahdiani, Ali Ahmadi, Sied Mehdi Fakhraie, and Caro Lucas. 2010. Bio-inspired imprecise computational blocks for efficient VLSI implementation of soft-computing applications. IEEE Trans. Circ. Syst. I: Reg. Papers 57, 4 (2010), 850--862.Google ScholarDigital Library
- Daniel Maier, Biagio Cosenza, and Ben Juurlink. 2018. Local memory-aware kernel perforation. In Proceedings of the International Symposium on Code Generation and Optimization. 278--287.Google Scholar
- Igor L. Markov. 2014. Limits on fundamental limits to computation. Nature 512 (08 2014), 147--54.Google Scholar
- Mark M. Meerschaert. 2013. Mathematical Modeling. Academic Press.Google Scholar
- Judicaël Menant, Muriel Pressigout, Luce Morin, and Jean-Francois Nezan. 2014. Optimized fixed point implementation of a local stereo matching algorithm onto C66x DSP. In Proceedings of the Conference on Design and Architectures for Signal and Image Processing (DASIP’14). IEEE, 1--6.Google ScholarCross Ref
- Jin Miao, Andreas Gerstlauer, and Michael Orshansky. 2013. Approximate logic synthesis under general error magnitude and frequency constraints. In Proceedings of the IEEE/ACM International Conference on Computer-Aided Design (ICCAD’13). IEEE, 779--786.Google ScholarCross Ref
- Jin Miao, Ku He, Andreas Gerstlauer, and Michael Orshansky. 2012. Modeling and synthesis of quality-energy optimal approximate adders. In Proceedings of the IEEE/ACM International Conference on Computer-Aided Design (ICCAD’12). IEEE, 728--735.Google ScholarDigital Library
- Joshua San Miguel and Natalie Enright Jerger. 2016. The anytime automaton. In Proceedings of the 43rd International Symposium on Computer Architecture (ISCA’16). 545--557.Google ScholarDigital Library
- Sasa Misailovic, Michael Carbin, Sara Achour, Zichao Qi, and Martin C. Rinard. 2014. Chisel: Reliability- and accuracy-aware optimization of approximate computational kernels. In Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications (OOPSLA’14). ACM, 309--328.Google Scholar
- Sasa Misailovic, Deokhwan Kim, and Martin Rinard. 2013. Parallelizing sequential programs with statistical accuracy tests. ACM Trans. Embed. Comput. Syst. 12, 2s (2013), 88:1--88:26.Google ScholarDigital Library
- Sasa Misailovic, Stelios Sidiroglou, Henry Hoffmann, and Martin Rinard. 2010. Quality of service profiling. In Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering (ICSE ’10). ACM, 25--34.Google ScholarDigital Library
- Sasa Misailovic, Stelios Sidiroglou, and Martin C. Rinard. 2012. Dancing with uncertainty. In Proceedings of the ACM Workshop on Relaxing Synchronization for Multicore and Manycore Scalability (RACES’12). ACM, 51--60.Google Scholar
- Asit K. Mishra, Rajkishore Barik, and Somnath Paul. 2014. iACT: A software-hardware framework for understanding the scope of approximate computing. In Proceedings of the Workshop on Approximate Computing Across the System Stack (WACAS’14).Google Scholar
- Subrata Mitra, Manish K. Gupta, Sasa Misailovic, and Saurabh Bagchi. 2017. Phase-aware optimization in approximate computing. In Proceedings of the IEEE/ACM International Symposium on Code Generation and Optimization (CGO’17). IEEE, 185--196.Google ScholarCross Ref
- Sparsh Mittal. 2016. A survey of techniques for approximate computing. Comput. Surveys 48, 4 (2016), 62:1--62:33.Google Scholar
- Michael Mitzenmacher and Eli Upfal. 2017. Probability and Computing: Randomization and Probabilistic Techniques in Algorithms and Data Analysis. Cambridge University Press.Google Scholar
- Debabrata Mohapatra, Georgios Karakonstantis, and Kaushik Roy. 2009. Significance driven computation: A voltage-scalable, variation-aware, quality-tuning motion estimator. In Proceedings of the International Symposium on Low Power Electronics and Design (ISLPED’09). ACM.Google ScholarDigital Library
- Thierry Moreau, Felipe Augusto, Patrick Howe, Armin Alaghi, and Luis Ceze. 2017. Exploiting quality-energy tradeoffs with arbitrary quantization. In Proceedings of the 12th IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS’17). ACM, 30:1--30:2.Google ScholarDigital Library
- Thierry Moreau, Joshua San Miguel, Mark Wyse, James Bornholt, Armin Alaghi, Luis Ceze, Natalie Enright Jerger, and Adrian Sampson. 2018. A taxonomy of general purpose approximate computing techniques. IEEE Embed. Syst. Lett. 10, 1 (2018), 2--5.Google ScholarDigital Library
- Thierry Moreau, Mark Wyse, Jacob Nelson, Adrian Sampson, Hadi Esmaeilzadeh, Luis Ceze, and Mark Oskin. 2015. SNNAP: Approximate computing on programmable SoCs via neural acceleration. In Proceedings of the IEEE International Symposium on High Performance Computer Architecture (HPCA’15). 603--614.Google ScholarCross Ref
- M. Hassan Najafi, Devon Jenson, David J. Lilja, and Marc D. Riedel. 2019. Performing stochastic computation deterministically. IEEE Trans. Very Large Scale Integr. Syst. 27, 12 (Dec. 2019), 2925--2938.Google ScholarCross Ref
- K. Nepal, S. Hashemi, H. Tann, R. I. Bahar, and S. Reda. 2019. Automated high-level generation of low-power approximate computing circuits. IEEE Transactions on Emerging Topics in Computing 7, 1 (2019), 18–30. DOI:10.1109/TETC.2016.2598283Google ScholarCross Ref
- Frank Olken and Doron Rotem. 1986. Simple random sampling from relational databases. In Proceedings of the 12th International Conference on Very Large Data Bases. 160--169.Google ScholarDigital Library
- Frank Olken and Doron Rotem. 1990. Random sampling from database files: A survey. In Proceedings of the 5th International Conference on Statistical and Scientific Database Management (SSDBM’90). Springer-Verlag, 92--111.Google ScholarDigital Library
- Daniele Jahier Pagliari, Enrico Macii, and Massimo Poncino. 2016. Serial T0: Approximate bus encoding for energy-efficient transmission of sensor signals. In Proceedings of the 53rd Annual Design Automation Conference. 14.Google ScholarDigital Library
- Krishna V. Palem. 2003. Energy aware algorithm design via probabilistic computing: From algorithms and models to Moore’s law and novel (semiconductor) devices. In Proceedings of the 2003 International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES’03). ACM, 113--116.Google ScholarDigital Library
- Krishna V. Palem. 2005. Energy aware computing through probabilistic switching: A study of limits. IEEE Trans. Comput. 54, 9 (Sep. 2005), 1123--1137.Google ScholarDigital Library
- Jongse Park, Hadi Esmaeilzadeh, Xin Zhang, Mayur Naik, and William Harris. 2015. FlexJava: Language support for safe and modular approximate programming. In Proceedings of the 10th Joint Meeting on Foundations of Software Engineering (ESEC/FSE’15). 745--757.Google ScholarDigital Library
- John G. Proakis and Dimitris G. Manolakis. 1996. Digital Signal Processing (3rd ed.): Principles, Algorithms, and Applications. Prentice-Hall.Google Scholar
- W. Qian, Xin Li, Marc D. Riedel, Kia Bazargan, and David J. Lilja. 2011. An architecture for fault-tolerant computation with stochastic logic. IEEE Trans. Comput. 60, 1 (Jan. 2011), 93--105.Google ScholarDigital Library
- Jan Rabaey, Abbas Rahimi, Sohum Datta, Miles Rusch, Pentti Kanerva, and Bruno Olshausen. 2017. Human-centric computing—The case for a hyper-dimensional approach. In Proceedings of the International Workshop on Advances in Sensors and Interfaces (IWASI’17). 29--29.Google ScholarCross Ref
- Jan M. Rabaey. 1996. Digital Integrated Circuits: A Design Perspective. Prentice-Hall.Google ScholarDigital Library
- Eric Rachlin and John E. Savage. 2008. A framework for coded computation. In Proceedings of the IEEE International Symposium on Information Theory (ISIT’08). IEEE, 2342--2346.Google Scholar
- Arnab Raha and Vijay Raghunathan. 2018. Approximating beyond the processor: Exploring full-system energy-accuracy tradeoffs in a smart camera system. IEEE Trans. Very Large Scale Integr. Syst. 26, 12 (2018), 2884--2897.Google ScholarCross Ref
- Arnab Raha, Soubhagya Sutar, Hrishikesh Jayakumar, and Vijay Raghunathan. 2017. Quality configurable approximate DRAM. IEEE Trans. Comput. 66, 7 (2017), 1172--1187.Google ScholarDigital Library
- Ashish Ranjan, Arnab Raha, Swagath Venkataramani, Kaushik Roy, and Anand Raghunathan. 2014. ASLAN: Synthesis of approximate sequential circuits. In Proceedings of the Design, Automation Test in Europe Conference. IEEE, 1--6.Google Scholar
- Ashish Ranjan, Swagath Venkataramani, Xuanyao Fong, Kaushik Roy, and Anand Raghunathan. 2015. Approximate storage for energy efficient spintronic memories. In Proceedings of the 52nd Annual Design Automation Conference (DAC’15).Google ScholarDigital Library
- Brandon Reagen, Paul Whatmough, Robert Adolf, Saketh Rama, Hyunkwang Lee, Sae Kyu Lee, José Miguel Hernández-Lobato, Gu-Yeon Wei, and David Brooks. 2016. Minerva: Enabling low-power, highly accurate deep neural network accelerators. In Proceedings of the 43rd International Symposium on Computer Architecture. IEEE Press, 267--278.Google ScholarDigital Library
- Semeen Rehman, Walaa El-Harouni, Muhammad Shafique, Akash Kumar, and Jörg Henkel. 2016. Architectural-space exploration of approximate multipliers. In Proceedings of the IEEE/ACM International Conference on Computer-Aided Design (ICCAD’16).Google ScholarDigital Library
- Lakshminarayanan Renganarayana, Vijayalakshmi Srinivasan, Ravi Nair, and Daniel Prener. 2012. Programming with relaxed synchronization. In Proceedings of the ACM Workshop on Relaxing Synchronization for Multicore and Manycore Scalability (RACES’12). ACM, 41--50.Google ScholarDigital Library
- M. Rinard. 2006. Probabilistic accuracy bounds for fault-tolerant computations that discard tasks. In Proceedings of the International Conference on Supercomputing (ICS’06). 324--334.Google ScholarDigital Library
- Martin C. Rinard. 2007. Using early phase termination to eliminate load imbalances at barrier synchronization points. In Proceedings of the Conference on Object-oriented Programming Systems and Applications (OOPSLA’07). ACM, 369--386.Google ScholarDigital Library
- Adriana Romero, Nicolas Ballas, Samira Ebrahimi Kahou, Antoine Chassang, Carlo Gatta, and Yoshua Bengio. 2014. FitNets: Hints for thin deep nets. CoRR abs/1412.6550.Google Scholar
- Cindy Rubio-González, Cuong Nguyen, Hong Diep Nguyen, James Demmel, William Kahan, Koushik Sen, David H. Bailey, Costin Iancu, and David Hough. 2013. Precimonious: Tuning assistant for floating-point precision. In Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis (SC’13). ACM.Google ScholarDigital Library
- T. Sakurai and A. R. Newton. 1990. Alpha-power law MOSFET model and its applications to CMOS inverter delay and other formulas. IEEE J. Solid-State Circ. 25, 2 (1990), 584--594.Google ScholarCross Ref
- Mehrzad Samadi, Davoud Anoushe Jamshidi, Janghaeng Lee, and Scott Mahlke. 2014. Paraprox: Pattern-based approximation for data parallel applications. In Proceedings of the 19th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’14). ACM, 35--50.Google ScholarDigital Library
- Mehrzad Samadi, Janghaeng Lee, D. Anoushe Jamshidi, Amir Hormati, and Scott Mahlke. 2013. SAGE: Self-tuning approximation for graphics engines. In Proceedings of the 46th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO’13). ACM, 13--24.Google ScholarDigital Library
- Adrian Sampson, André Baixo, Benjamin Ransford, Thierry Moreau, Joshua Yip, Luis Ceze, and Mark Oskin. 2015. Accept: A programmer-guided compiler framework for practical approximate computing. University of Washington Technical Report UW-CSE-15-01, Vol. 1.Google Scholar
- Adrian Sampson, Werner Dietl, Emily Fortuna, Danushen Gnanapragasam, Luis Ceze, and Dan Grossman. 2011. EnerJ: Approximate data types for safe and general low-power computation. In Proceedings of the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI’11). ACM, 164--174.Google ScholarDigital Library
- Adrian Sampson, Jacob Nelson, Karin Strauss, and Luis Ceze. 2013. Approximate storage in solid-state memories. In Proceedings of the 46th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO’13).Google ScholarDigital Library
- Adrian Sampson, Pavel Panchekha, Todd Mytkowicz, Kathryn S. McKinley, Dan Grossman, and Luis Ceze. 2014. Expressing and verifying probabilistic assertions. In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation. 112--122.Google ScholarDigital Library
- Joshua San Miguel, Jorge Albericio, and Natalie Enright Jerger. 2016. The Bunker Cache for spatio-value approximation. In Proceedings of the 49th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO’16).Google ScholarDigital Library
- Joshua San Miguel, Jorge Albericio, Andreas Moshovos, and Natalie Enright Jerger. 2015. Doppelganger: A cache for approximate computing. In Proceedings of the 48th Annual IEEE/ACM International Symposium on Microarchitecture.Google ScholarDigital Library
- Joshua San Miguel, Mario Badr, and Natalie Enright Jerger. 2014. Load value approximation. In Proceedings of the 47th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO’14).Google ScholarDigital Library
- Rahul Sarpeshkar. 1998. Analog versus digital: Extrapolating from electronics to neurobiology. Neural Comput. 10, 7 (1998), 1601--1638.Google ScholarDigital Library
- Daniel Scharstein and Richard Szeliski. 2002. A taxonomy and evaluation of dense two-frame stereo correspondence algorithms. Int. J. Comput. Vis. 47, 1--3 (2002), 7--42.Google ScholarDigital Library
- Eric Schkufza, Rahul Sharma, and Alex Aiken. 2014. Stochastic optimization of floating-point programs with tunable precision. In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation.Google ScholarDigital Library
- Jeremy Schlachter, Vincent Camus, Krishna V. Palem, and Christian Enz. 2017. Design and applications of approximate circuits by gate-level pruning. IEEE Trans. Very Large Scale Integr. Syst. 25, 5 (2017), 1694--1702.Google ScholarDigital Library
- Muhammad Shafique, Waqas Ahmad, Rehan Hafiz, and Jörg Henkel. 2015. A low latency generic accuracy configurable adder. In Proceedings of the 52nd Design Automation Conference (DAC’15).Google ScholarDigital Library
- Muhammad Shafique, Rehan Hafiz, Semeen Rehman, Walaa El-Harouni, and Jörg Henkel. 2016. Cross-layer approximate computing: From logic to architectures. In Proceedings of the 53rd Annual Design Automation Conference (DAC’16).Google ScholarDigital Library
- Naresh R. Shanbhag. 2002. Reliable and energy-efficient digital signal processing. In Proceedings of the 39th Annual Design Automation Conference (DAC’02). ACM, 830--835.Google ScholarDigital Library
- Claude E. Shannon. 1959. Coding theorems for a discrete source with a fidelity criterion. IRE Natl. Convent. Rec. 7, 4 (1959), 142--163.Google Scholar
- Hashim Sharif, Prakalp Srivastava, Muhammad Huzaifa, Maria Kotsifakou, Keyur Joshi, Yasmin Sarita, Nathan Zhao, Vikram S. Adve, Sasa Misailovic, and Sarita Adve. 2019. ApproxHPVM: A portable compiler IR for accuracy-aware optimizations. Proceedings of the ACM on Programming Languages 3 (2019), 1--30.Google ScholarDigital Library
- Wei-Kuan Shih and Jane W. S. Liu. 1995. Algorithms for scheduling imprecise computations with timing constraints to minimize maximum error. IEEE Trans. Comput. 44, 3 (1995), 466--471.Google ScholarDigital Library
- Byonghyo Shim and Naresh R. Shanbhag. 2006. Energy-efficient soft error-tolerant digital signal processing. IEEE Trans. VLSI Syst. 14, 4 (2006), 336--348.Google ScholarDigital Library
- Doochul Shin and Sandeep K. Gupta. 2010. Approximate logic synthesis for error tolerant applications. In Proceedings of the Conference on Design, Automation and Test in Europe (DATE’10).Google Scholar
- Majid Shoushtari, Abbas BanaiyanMofrad, and Nikil Dutt. 2015. Exploiting partially-forgetful memories for approximate computing. IEEE Embed. Syst. Lett. 7, 1 (2015), 19--22.Google ScholarDigital Library
- Stelios Sidiroglou-Douskos, Sasa Misailovic, Henry Hoffmann, and Martin Rinard. 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 (ESEC/FSE’11).Google ScholarDigital Library
- Jacob Sorber, Alexander Kostadinov, Matthew Garber, Matthew Brennan, Mark D. Corner, and Emery D. Berger. 2007. Eon: A language and runtime system for perpetual systems. In Proceedings of the 5th International Conference on Embedded Networked Sensor Systems (SenSys’07).Google Scholar
- Daniel Alan Spielman. 1996. Highly fault-tolerant parallel computation. In Proceedings of the 37th Annual Symposium on Foundations of Computer Science (FOCS’96).Google ScholarDigital Library
- Vilas Sridharan and David R. Kaeli. 2009. Eliminating microarchitectural dependency from architectural vulnerability. In Proceedings of the 15th International Symposium on High Performance Computer Architecture (HPCA’09).Google Scholar
- Nitish Srivastava, Geoffrey Hinton, Alex Krizhevsky, Ilya Sutskever, and Ruslan Salakhutdinov. 2014. Dropout: A simple way to prevent neural networks from overfitting. J. Mach. Learn. Res. 15, 1 (2014), 1929--1958.Google ScholarDigital Library
- Renée St. Amant, Amir Yazdanbakhsh, Jongse Park, Bradley Thwaites, Hadi Esmaeilzadeh, Arjang Hassibi, Luis Ceze, and Doug Burger. 2014. General-purpose code acceleration with limited-precision analog computation. In Proceedings of the 41st Annual International Symposium on Computer Architecuture (ISCA’14). 505--516.Google ScholarCross Ref
- Mircea R. Stan and Wayne P. Burleson. 1995. Bus-invert coding for low-power I/O. IEEE TVLSI 3, 1 (1995), 49--58.Google Scholar
- Phillip Stanley-Marbell. 2009. Encoding efficiency of digital number representations under deviation constraints. In Proceedings of the IEEE Information Theory Workshop. 203--207.Google ScholarCross Ref
- Phillip Stanley-Marbell, Virginia Estellers, and Martin Rinard. 2016. Crayon: Saving power through shape and color approximation on next-generation displays. In Proceedings of the 11th European Conference on Computer Systems (EuroSys’16). 11:1--11:17.Google ScholarDigital Library
- Phillip Stanley-Marbell, Pier Andrea Francese, and Martin Rinard. 2016. Encoder logic for reducing serial I/O power in sensors and sensor hubs. In Proceedings of the 28th IEEE Hot Chips Symposium (HotChips’16). 1--2.Google ScholarCross Ref
- Phillip Stanley-Marbell and Paul Hurley. 2018. Probabilistic value-deviation-bounded integer codes for approximate communication. Computing Research Repository (CoRR) abs/1804.02317.Google Scholar
- P. Stanley-Marbell and D. Marculescu. 2006. A programming model and language implementation for concurrent failure-prone hardware. In Proceedings of the 2nd Workshop on Programming Models for Ubiquitous Parallelism (PMUP’06). 44--49.Google Scholar
- Phillip Stanley-Marbell and Martin Rinard. 2015. Approximating outside the processor. In Proceedings of the Workshop Approximate Computing Across the System Stack (WACAS’15). 1--3.Google Scholar
- Phillip Stanley-Marbell and Martin Rinard. 2015. Efficiency limits for value-deviation-bounded approximate communication. IEEE Embed. Syst. Lett. 7, 4 (2015), 109--112.Google ScholarDigital Library
- Phillip Stanley-Marbell and Martin Rinard. 2015. Lax: Driver interfaces for approximate sensor device access. In Proceedings of the 15th Workshop on Hot Topics in Operating Systems (HotOS’15).Google Scholar
- Phillip Stanley-Marbell and Martin Rinard. 2016. Reducing serial I/O power in error-tolerant applications by efficient lossy encoding. In Proceedings of the 53rd Annual Design Automation Conference (DAC’16). 62:1--62:6.Google ScholarDigital Library
- Phillip Stanley-Marbell and Martin Rinard. 2017. Error-efficient computing systems. Found. Trends Electron. Design Autom. 11, 4 (2017), 362--461.Google ScholarDigital Library
- P. Stanley-Marbell and M. Rinard. 2018. Perceived-color approximation transforms for programs that draw. IEEE Micro 38, 4 (July 2018), 20--29.Google ScholarCross Ref
- P. Stanley-Marbell and M. Rinard. 2020. Warp: A hardware platform for efficient multi-modal sensing with adaptive approximation. IEEE Micro 40, 1 (Jan. 2020), 57--66.Google ScholarCross Ref
- Xin Sui, Andrew Lenharth, Donald S. Fussell, and Keshav Pingali. 2016. Proactive control of approximate programs. ACM SIGPLAN Notices 51, 4 (2016), 607--621.Google ScholarDigital Library
- Olivier Temam. 2012. A defect-tolerant accelerator for emerging high-performance applications. In Proceedings of the 39th Annual International Symposium on Computer Architecture (ISCA’12). 356--367.Google ScholarDigital Library
- Bradley Thwaites, Gennady Pekhimenko, Hadi Esmaeilzadeh, Amir Yazdanbakhsh, Onur Mutlu, Jongse Park, Girish Mururu, and Todd Mowry. 2014. Rollback-free value prediction with approximate loads. In Proceedings of the 23rd International Conference on Parallel Architectures and Compilation Techniques.Google ScholarDigital Library
- Federico Tombari, Stefano Mattoccia, Luigi Di Stefano, and Elisa Addimanda. 2008. Classification and evaluation of cost aggregation methods for stereo correspondence. In Proceedings of the Conference on Computer Vision and Pattern Recognition (CVPR’08). IEEE, 1--8.Google ScholarCross Ref
- Sergio L. Toral, Jose M. Quero, and Leopoldo G. Franquelo. 2000. Stochastic pulse coded arithmetic. In Proceedings of the IEEE International Symposium on Circuits and Systems, Vol. 1. 599--602.Google Scholar
- Georgios Tziantzioulis, Nikos Hardavellas, and Simone Campanoni. 2018. Temporal approximate function memoization. IEEE Micro 38, 4 (2018), 60--70.Google ScholarDigital Library
- Girish V. Varatkar and Naresh R. Shanbhag. 2006. Energy-efficient motion estimation using error tolerance. In Proceedings of the International Symposium on Low Power Electronics and Design (ISLPED’06).Google Scholar
- Lav Varshney. 2011. Performance of LDPC codes under faulty iterative decoding. IEEE Trans. Info. Theory 57, 7 (2011), 4427--4444. DOI:10.1109/TIT.2011.2145870Google ScholarDigital Library
- Vassilis Vassiliadis, Jan Riehme, Jens Deussen, Konstantinos Parasyris, Christos D. Antonopoulos, Nikolaos Bellas, Spyros Lalis, and Uwe Naumann. 2016. Towards automatic significance analysis for approximate computing. In Proceedings of the IEEE/ACM International Symposium on Code Generation and Optimization (CGO’16). IEEE, 182--193.Google ScholarDigital Library
- Vijay V. Vazirani. 2013. Approximation Algorithms. Springer Science 8 Business Media.Google ScholarDigital Library
- Swagath Venkataramani, Vinay Chippa, Srimat Chakradhar, Kaushik Roy, and Anand Raghunathan. 2013. Quality programmable vector processors for approximate computing. In Proceedings of the 46th Annual International Symposium on Microarchitecture. ACM, 1--12.Google ScholarDigital Library
- Swagath Venkataramani, Anand Raghunathan, Jie Liu, and Mohammed Shoaib. 2015. Scalable-effort classifiers for energy-efficient machine learning. In Proceedings of the 52nd Annual Design Automation Conference (DAC’15). ACM, 67:1--67:6.Google ScholarDigital Library
- Swagath Venkataramani, Amit Sabne, Vivek Kozhikkottu, Kaushik Roy, and Anand Raghunathan. 2012. Salsa: Systematic logic synthesis of approximate circuits. In Proceedings of the 49th Annual Design Automation Conference (DAC’12). ACM, 796--801.Google ScholarDigital Library
- Ajay Verma, Philip Brisk, and Paolo Ienne. 2008. Variable latency speculative addition: A new paradigm for arithmetic circuit design. In Proceedings of the Conference on Design, Automation and Test in Europe (DATE’08). ACM, 1250--1255.Google ScholarDigital Library
- John von Neumann. 1956. Probabilistic logics and the synthesis of reliable organisms from unreliable components. Autom. Studies 34 (1956), 43--98.Google Scholar
- Qiang Xu, Todd Mytkowicz, and Nam Sung Kim. 2016. Approximate computing: A survey. IEEE Design Test 33, 1 (2016), 8--22.Google ScholarCross Ref
- Yaoqing Yang, Pulkit Grover, and Soummya Kar. 2014. Can a noisy encoder be used to communicate reliably? In Proceedings of the 52nd Annual Allerton Conference on Communication, Control, and Computing. IEEE, 659--666.Google ScholarCross Ref
- Amir Yazdanbakhsh, Jongse Park, Hardik Sharma, Pejman Lotfi-Kamran, and Hadi Esmaeilzadeh. 2015. Neural acceleration for GPU throughput processors. In Proceedings of the 48th International Symposium on Microarchitecture. 482--493.Google ScholarDigital Library
- S. M. Sadegh Tabatabaei Yazdi, Chu-Hsiang Huang, and Lara Dolecek. 2012. Optimal design of a Gallager B noisy decoder for irregular LDPC codes. IEEE Commun. Lett. 16, 12 (2012), 2052--2055.Google ScholarCross Ref
- Sadegh Tabatabaei Yazdi, Hyungmin Cho, and Lara Dolecek. 2013. Gallager B decoder on noisy hardware. Trans. Commun. 61 (2013), 1660--1673.Google ScholarCross Ref
- Yavuz Yetim, Sharad Malik, and Margaret Martonosi. 2015. CommGuard: Mitigating communication errors in error-prone parallel execution. In Proceedings of the 20th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’15). 311--323.Google ScholarDigital Library
- Neil Zhao. 2010. Full-featured pedometer design realized with 3-Axis digital accelerometer. Analog Dial. 44 (2010).Google Scholar
- Ning Zhu, Wang Ling Goh, Weija Zhang, Kiat Seng Yeo, and Zhi Hui Kong. 2009. Design of low-power high-speed truncation-error-tolerant adder and its application in digital signal processing. IEEE Trans. Very Large Scale Integr. Syst. 18, 8 (2009), 1225--1229.Google Scholar
- Zeyuan Allen Zhu, Sasa Misailovic, Jonathan A. Kelner, and Martin Rinard. 2012. Randomized accuracy-aware program transformations for efficient approximate computations. In Proceedings of the 39th Annual Symposium on Principles of Programming Languages (POPL’12). ACM, 441--454.Google ScholarDigital Library
Index Terms
- Exploiting Errors for Efficiency: A Survey from Circuits to Applications
Recommendations
A General Sign Bit Error Correction Scheme for Approximate Adders
GLSVLSI '16: Proceedings of the 26th edition on Great Lakes Symposium on VLSIApproximate computing is an emerging design technique for error-tolerant applications. As adders are the key building blocks in many applications, approximate adders have been widely studied recently. However, existing approximate adders may introduce ...
A high-accuracy approximate adder with correct sign calculation
AbstractConventional precise adders take long delay and large power consumption to obtain accurate results. Exploiting the error tolerance of some applications such as multimedia, image processing, and machine learning, a number of recent ...
Codes Correcting Asymmetric/Unidirectional Errors along with Bidirectional Errors of Small Magnitude
PRDC '14: Proceedings of the 2014 IEEE 20th Pacific Rim International Symposium on Dependable ComputingDominant error sources in multi-level cell NAND Flash memories shift threshold voltage levels to either positive or negative values, thus errors are modeled by nonbinary unidirectional channels. However, bidirectional errors can also be caused when ...
Comments