Abstract
Approximate computing has emerged as a design paradigm amenable to error-tolerant applications. It enables trading the quality of results for efficiency improvement in terms of delay, power, and energy consumption under user-provided tolerable quality degradation. Approximate accelerators have been proposed to expedite frequently executing code sections of error-resilient applications while meeting a defined quality level. However, these accelerators may produce unacceptable errors at run time if the input data changes or dynamic adjustments are made for a defined output quality constraint. State-of-the-art approaches in approximate computing address this issue by correctly re-computing those accelerator invocations that produce unacceptable errors; this is achieved by using the host processor or an alternate exact accelerator, which is activated on-demand. Nevertheless, such approaches can nullify the benefits of approximate computing, especially when input data variations are high at run time and errors due to approximations are above a tolerable threshold. As a robust and general solution to this problem, we propose ECAx, a novel methodology to explore low-overhead error correction in approximate accelerators by selectively correcting most significant errors, in terms of their magnitude, without losing the gains of approximations. We particularly consider the case of approximate accelerators built with approximate functional units such as approximate adders. Our novel methodology reduces the required exact re-computations on the host processor, achieving up to 20% performance gain compared to state-of-the-art approaches.
- Muhammad Kamran Ayub, Osman Hasan, and Muhammad Shafique. 2017. Statistical error analysis for low power approximate adders. In 2017 54th ACM/EDAC/IEEE Design Automation Conference (DAC). 1--6. DOI:https://doi.org/10.1145/3061639.3062319Google Scholar
Digital Library
- Woongki Baek and Trishul M. Chilimbi. 2010. Green: A framework for supporting energy-conscious programming using controlled approximation. In Proceedings of the 31st ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI’10). ACM, New York, NY, USA, 198--209. DOI:https://doi.org/10.1145/1806596.1806620Google Scholar
- Kartikeya Bhardwaj, Pravin S. Mane, and Jörg Henkel. 2014. Power- and area-efficient approximate wallace tree multiplier for error-resilient systems. In Fifteenth International Symposium on Quality Electronic Design. 263--269. DOI:https://doi.org/10.1109/ISQED.2014.6783335Google Scholar
Cross Ref
- Andrew Canis, Jongsok Choi, Mark Aldham, Victor Zhang, Ahmed Kammoona, Tomasz Czajkowski, Stephen D. Brown, and Jason H. Anderson. 2013. LegUp: An open-source high-level synthesis tool for FPGA-based processor/accelerator systems. ACM Trans. Embed. Comput. Syst. 13, 2, Article 24 (Sept. 2013), 27 pages. DOI:https://doi.org/10.1145/2514740Google Scholar
Digital Library
- Jorge Castro-Godínez, Sven Esser, Muhammad Shafique, Santiago Pagani, and Jörg Henkel. 2018. Compiler-driven error analysis for designing approximate accelerators. In 2018 Design, Automation Test in Europe Conference Exhibition (DATE). 1027--1032. DOI:https://doi.org/10.23919/DATE.2018.8342163Google Scholar
- Vinay K. Chippa, Srimat T. Chakradhar, Kaushik Roy, and Anand Raghunathan. 2013. Analysis and characterization of inherent application resilience for approximate computing. In 2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC). 1--9. DOI:https://doi.org/10.1145/2463209.2488873Google Scholar
Digital Library
- Jason Cong, Mohammad Ali Ghodrat, Michael Gill, Beayna Grigorian, Karthik Gururaj, and Glenn Reinman. 2014. Accelerator-rich architectures: Opportunities and progresses. In 2014 51st ACM/EDAC/IEEE Design Automation Conference (DAC). 1--6. DOI:https://doi.org/10.1145/2593069.2596667Google Scholar
Digital Library
- Alberto A. Del Barrio, Roman Hermida, Seda Ogrenci Memik, Jose M. Mendias, and Maria C. Molina. 2013. Multispeculative additive trees in high-level synthesis. In 2013 Design, Automation Test in Europe Conference Exhibition (DATE). 188--193. DOI:https://doi.org/10.7873/DATE.2013.052Google Scholar
- Sunil Dutt, Harsh Patel, Sukumar Nandi, and Gaurav Trivedi. 2016. Exploring approximate computing for yield improvement via re-design of adders for error-resilient applications. In 2016 29th International Conference on VLSI Design and 2016 15th International Conference on Embedded Systems (VLSID). 134--139. DOI:https://doi.org/10.1109/VLSID.2016.101Google Scholar
Digital Library
- Hadi Esmaeilzadeh, Adrian Sampson, Luis Ceze, and Doug Burger. 2012. Neural acceleration for general-purpose approximate programs. In 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture. 449--460. DOI:https://doi.org/10.1109/MICRO.2012.48Google Scholar
Digital Library
- G. A. Gillani, Muhammad Abdullah Hanif, M. Krone, Sabih H. Gerez, Muhammad Shafique, and André B. J. Kokkeler. 2018. SquASH: Approximate square-accumulate with self-healing. IEEE Access 6 (2018), 49112--49128. DOI:https://doi.org/10.1109/ACCESS.2018.2868036Google Scholar
- Soheil Hashemi, R. Iris Bahar, and Sherief Reda. 2015. DRUM: A dynamic range unbiased multiplier for approximate applications. In 2015 IEEE/ACM International Conference on Computer-Aided Design (ICCAD). 418--425. DOI:https://doi.org/10.1109/ICCAD.2015.7372600Google Scholar
Digital Library
- John L. Hennessy and David A. Patterson. 2012. Computer Architecture: A Quantitative Approach (5 ed.). Morgan Kaufmann.Google Scholar
Digital Library
- Andrew B. Kahng and Seokhyeong Kang. 2012. Accuracy-configurable adder for approximate arithmetic designs. In DAC Design Automation Conference 2012. 820--825. DOI:https://doi.org/10.1145/2228360.2228509Google Scholar
- Daya S. Khudia, Babak Zamirai, Mehrzad Samadi, and Scott Mahlke. 2015. Rumba: An online quality management system for approximate computing. In 2015 ACM/IEEE 42nd Annual International Symposium on Computer Architecture (ISCA). 554--566. DOI:https://doi.org/10.1145/2749469.2750371Google Scholar
Digital Library
- Chaofan Li, Wei Luo, Sachin S. Sapatnekar, and Jiang Hu. 2015. Joint precision optimization and high level synthesis for approximate computing. In 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC). 1--6. DOI:https://doi.org/10.1145/2744769.2744863Google Scholar
Digital Library
- Jinghang Liang, Jie Han, and Fabrizio Lombardi. 2013. New metrics for the reliability of approximate and probabilistic adders. IEEE Trans. Comput. 62, 9 (Sep. 2013), 1760--1771. DOI:https://doi.org/10.1109/TC.2012.146Google Scholar
- Divya Mahajan, Amir Yazdanbakhsh, Jongse Park, Bradley Thwaites, and Hadi Esmaeilzadeh. 2016. Towards statistical guarantees in controlling quality tradeoffs for approximate acceleration. In 2016 ACM/IEEE 43rd Annual International Symposium on Computer Architecture (ISCA). 66--77. DOI:https://doi.org/10.1109/ISCA.2016.16Google Scholar
Digital Library
- 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 Transactions on Circuits and Systems I: Regular Papers 57, 4 (April 2010), 850--862. DOI:https://doi.org/10.1109/TCSI.2009.2027626Google Scholar
Digital Library
- Sana Mazahir, Osman Hasan, Rehan Hafiz, Muhammad Shafique, and Jörg Henkel. 2016. An area-efficient consolidated configurable error correction for approximate hardware accelerators. In 2016 53rd ACM/EDAC/IEEE Design Automation Conference (DAC). 1--6. DOI:https://doi.org/10.1145/2897937.2897981Google Scholar
Digital Library
- Sana Mazahir, Osman Hasan, Rehan Hafiz, Muhammad Shafique, and Jörg Henkel. 2017. Probabilistic error modeling for approximate adders. IEEE Trans. Comput. 66, 3 (March 2017), 515--530. DOI:https://doi.org/10.1109/TC.2016.2605382Google Scholar
- Sana Mazahir, Osman Hasan, and Muhammad Shafique. 2018. Adaptive approximate computing in arithmetic datapaths. IEEE Design Test 35, 4 (Aug 2018), 65--74. DOI:https://doi.org/10.1109/MDAT.2017.2772874Google Scholar
Cross Ref
- 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-46). ACM, New York, NY, USA, 13--24. DOI:https://doi.org/10.1145/2540708.2540711Google Scholar
Digital Library
- Muhammad Shafique, Waqas Ahmad, Rehan Hafiz, and Jörg Henkel. 2015. A low latency generic accuracy configurable adder. In 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC). 1--6. DOI:https://doi.org/10.1145/2744769.2744778Google Scholar
Digital Library
- Muhammad Shafique, Rehan Hafiz, Semeen Rehman, Walaa El-Harouni, and Jörg Henkel. 2016. Invited: Cross-layer approximate computing: From logic to architectures. In 2016 53nd ACM/EDAC/IEEE Design Automation Conference (DAC). 1--6. DOI:https://doi.org/10.1145/2897937.2905008Google Scholar
Digital Library
- Thomas N. Theis and H.-S. Philip Wong. 2017. The end of Moore’s law: A new beginning for information technology. Computing in Science Engineering 19, 2 (Mar 2017), 41--50. DOI:https://doi.org/10.1109/MCSE.2017.29Google Scholar
Digital Library
- Ajay K. Verma, Phillip Brisk, and Paolo Ienne. 2008. Variable latency speculative addition: A new paradigm for arithmetic circuit design. In 2008 Design, Automation and Test in Europe. 1250--1255. DOI:https://doi.org/10.1109/DATE.2008.4484850Google Scholar
- Ting Wang, Qian Zhang, Nam Sung Kim, and Qiang Xu. 2016. On effective and efficient quality management for approximate computing. In Proceedings of the 2016 International Symposium on Low Power Electronics and Design (ISLPED’16). ACM, New York, NY, USA, 156--161. DOI:https://doi.org/10.1145/2934583.2934608Google Scholar
Digital Library
- Qiang Xu, Todd Mytkowicz, and Nam Sung Kim. 2016. Approximate computing: A survey. IEEE Design Test 33, 1 (Feb 2016), 8--22. DOI:https://doi.org/10.1109/MDAT.2015.2505723Google Scholar
Cross Ref
- Siyuan Xu and Benjamin Carrion Schafer. 2017. Exposing approximate computing optimizations at different levels: From behavioral to gate-level. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 25, 11 (Nov 2017), 3077--3088. DOI:https://doi.org/10.1109/TVLSI.2017.2735299Google Scholar
Cross Ref
- Rong Ye, Ting Wang, Feng Yuan, Rakesh Kumar, and Qiang Xu. 2013. On reconfiguration-oriented approximate adder design and its application. In 2013 IEEE/ACM International Conference on Computer-Aided Design (ICCAD). 48--54. DOI:https://doi.org/10.1109/ICCAD.2013.6691096Google Scholar
Cross Ref
- Ning Zhu, Wang Ling Goh, and Kiat Seng Yeo. 2009. An enhanced low-power high-speed adder for error-tolerant application. In Proceedings of the 2009 12th International Symposium on Integrated Circuits. 69--72.Google Scholar
Index Terms
ECAx: Balancing Error Correction Costs in Approximate Accelerators
Recommendations
Neural acceleration for GPU throughput processors
MICRO-48: Proceedings of the 48th International Symposium on MicroarchitectureGraphics Processing Units (GPUs) can accelerate diverse classes of applications, such as recognition, gaming, data analytics, weather prediction, and multimedia. Many of these applications are amenable to approximate execution. This application ...
ARGA: Approximate Reuse for GPGPU Acceleration
DAC '19: Proceedings of the 56th Annual Design Automation Conference 2019Many data-driven applications including computer vision, speech recognition, and medical diagnostics show tolerance to error during computation. These applications are often accelerated on GPUs, but high computational costs limit performance and ...
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 ...






Comments