M06 Approximate Computing: Circuits, Systems and Applications
Approximate computing has been proposed as a novel paradigm for efficient and low power design at nanoscales. Its efficiency in operation is related to the computation of approximate results with at least comparable performance and lower power dissipation compared to the fully accurate counterpart. Therefore, approximate computing generates results that are good enough rather than always fully accurate. Although computational errors generally are not desirable, applications such as multimedia, signal processing, machine learning, pattern recognition, and data mining are tolerant to the occurrence of some errors.
Approximate computing has received significant attention from both research and industrial communities in the past few years due to the challenge of designing power efficient computing circuits/systems for most emerging applications. The EDA research community has investigated approximate techniques at different levels; many papers on approximate computing have been published in DATE, DAC, ICCAD and ASP-DAC, as well as IEEE and ACM periodicals (such as TCAD) as well as in sessions of past DATE venues. In this tutorial, we present a comprehensive treatment of approximate computing. Starting from arithmetic circuits and modules, the tutorial expands its technical coverage to emerging and safety critical applications which the audience can appreciate the potential benefits of this new computational paradigm and its implications on circuit design.
Computing systems are conventionally designed to operate as accurately as possible. However, this trend faces severe technology challenges, such as power dissipation, circuit reliability, and performance. There are a number of pervasive computing applications (such as machine learning, pattern recognition, digital signal processing, communication, robotics, and multimedia), which are inherently error-tolerant or error-resilient, i.e., in general, they require acceptable results rather than fully exact results. Approximate computing has been proposed for highly energy-efficient systems targeting the above-mentioned emerging error-tolerant applications; approximate computing consists of approximately (inexactly) processing data to save power and achieve high performance, while results remain at an acceptable level for subsequent use. This tutorial starts with the motivation of approximate computing and then it reviews current techniques for approximate hardware designs. This tutorial will cover the following topics:
- Approximate Computing: Introduction and Principles (by Fabrizio Lombardi)
- Characterization of Approximate Arithmetic Circuits (by Jie Han)
- Error Compensation Techniques and Approximate DSP Modules (by Fabrizio Lombardi)
- Machine Learning Applications and Security (by Weiqiang Liu)
- Approximate Computing for Safety-Critical Applications (by Alberto Bosio)
Directions for future works in approximate computing will also be provided. This tutorial will be presented and tailored to the EDA community and its technical interests.
13:15-13:20 Start of the Tutorial
13:20 - 13:45 Topic 1 - Fabrizio Lombardi
Title: Approximate Computing: Introduction and Principles
13:45 - 14:35 - Topic 2 - Jie Han
Title: Characterization of Approximate Arithmetic Circuits.
14:35 - 15:00 Topic 3 - Fabrizio Lombardi.
Title: Error Compensation Techniques and Approximate DSP Modules.
15:00 - 15:30 Coffee Break
15:30 - 16:20 Topic 4 - Weiqiang Liu.
Title: Approximate Computing: Machine Learning Applications and Security.
16:20 - 17:10 Topic 5 - Alberto Bosio.
Title: Approximate Computing for Safety-Critical Applications.
17:10-17:15 End of the Tutorial
Knowledge of Computer Architecture and Computer Arithmetic
This project has received funding from the European Union’s Horizon 2020 research and innovation programme under the Marie Skłodowska-Curie grant agreement No 956090.