Editors
Sherief Reda
Brown University, Rhode Island, Providence, USA
Muhammad Shafique
Vienna University of Technology, Wien, Wien, Austria
ISBN 978-3-319-99321-8 e-ISBN 978-3-319-99322-5
https://doi.org/10.1007/978-3-319-99322-5
Library of Congress Control Number: 2018962733
Springer Nature Switzerland AG 2019
This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use.
The publisher, the authors and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, express or implied, with respect to the material contained herein or for any errors or omissions that may have been made. The publisher remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
This Springer imprint is published by the registered company Springer Nature Switzerland AG
The registered company address is: Gewerbestrasse 11, 6330 Cham, Switzerland
Preface: Introduction to Approximate Circuits: Methodologies and CAD
Approximate computing has emerged as a new paradigm to reduce the resources (e.g., design area and power) required to realize digital systems at the expense of a negligible or small amount of reduction in quality-of-results or accuracy. This trade-off between resources and accuracy is specially relevant for a large class of data-rich applications such as machine learning and multimedia processing that offer inherent error resiliency. This chapter overviews the main technical themes in approximate circuit design methodologies. We elucidate various application domains that are most suitable for approximate circuits, and we then describe a number of error metrics that can capture the quality of results of the applications. We overview the main four technical themes of this book, which are (1) design of approximate arithmetic building blocks, such as adders, multipliers, and dividers, (2) circuit synthesis techniques for arbitrary logic circuits, (3) approximate accelerator design for a number of applications, including deep learning and video coding, and (4) approximate circuit techniques for general-purpose central-processing units and graphical processing units.
Introduction
With the emergence of more and more complex applications in domains like machine learning and multimedia processing, the overall computational workloads of the applications and their respective energy consumption are on the rise. Applications from the domains of Internet-of-Things (IoT) and cyber-physical systems (CPS) that involve huge amount of data analytics require a significant amount of computational and thereby energy and power resources. To overcome these escalating challenges, technology scaling has played a vital role in the past few decades; especially the accelerator-based computing has shown promising results for high energy efficiency. However, with the diminishing returns of technology scaling, alternative computing paradigms have to be considered for alleviating the resource requirements of the applications and for providing near-optimal level of performance and energy efficiency.
Recent studies by several research groups, like TU-Wien [3] and Brown University [6], and industries, like IBM [10], Microsoft [1], and Intel [9], have shown that a large body of applications are inherently error resilient. This error resilience is usually due to one or more of the following factors (also shown in Fig. ):
Perceptual limitations of the users, where a small error in the visual data is unnoticeable by the users because of their psycho-visual limitations.
Fig. 1
Sources of inherent application resilience: the motivation behind approximate computing (Adapted from [2].)
Lack of a golden answer, where multiple outcomes are equally acceptable for a given input.
Resilience to input noise, where applications are designed to deal with noisy inputs and still produce acceptable results even in the presence of such noise.
Error masking and attenuation, where error in one stage of the application can be compensated/suppressed because of the applications characteristics or by the negating error(s) in other stages.
Approximate computing (AC) is one such paradigm that leverages error resilience characteristics of applications for improving the overall resource efficiency of the systems. Traditional techniques, like power gating, dynamic voltage and frequency scaling (DVFS), and power-/energy-aware application mapping, which are popular and have been widely used for achieving significant efficiency gains, are not sufficient enough to meet the growing computing-efficiency demands and can only offer improvements to a limited extent. However, relaxing the bounds of precise computing can open new horizons for the designers by offering (design- and run-time) trade-offs that were never possible using conventional techniques. Figure shows a comparison between traditional and emerging approximate computing-based HW/SW computing stacks.
Fig. 2
Comparison of hardware and software stacks in traditional and approximate computing paradigms. The highlighted blocks in the stack illustrate the focus of the book (Adapted from [13].)
This book is focused towards introducing the most prominent techniques proposed for employing approximations at the hardware level for achieving high gains in terms of area, power, energy, and performance efficiency. The book is composed of several parts that cover approximate circuits as well as the methodologies for designing approximate hardware. More details related to parts are available in section of this chapter.
Application Domains
Approximate computing techniques benefit circuits and systems from application domains that have inherent error resilience as described in section . We describe in this section specific examples of these application domains.
Big Data Applications. Big data applications have inherent noise in their data collection process, where large volumes of data often include statistical anomalies. Furthermore, the collected data can be based on inputs from users which can be subjective and can include erroneous or unexplainable data points. Furthermore, big data processing often relies on machine learning techniques, where the results are not 100% accurate anyway.