M03 A Comprehensive Analysis of Approximate Computing Techniques: From Component- to Application-Level

Printer-friendly versionPDF version
Date: 
2019-03-25
Time: 
14:00-18:00
Location / Room: 
TBA

Organisers

Daniel Menard, INSA Rennes/IETR, FR (Contact Daniel Menard)
Alberto Bosio, INL, FR (Contact Alberto Bosio)
Olivier Sentieys, INRIA, FR (Contact Olivier Sentieys)

A new design paradigm, Approximate Computing (AxC), has been established to investigate how computing systems can be more energy efficient, faster, and less complex. Intuitively, instead of performing exact computation and, consequently, requiring a high amount of resources, AxC aims to selectively relax the specifications, trading accuracy off for efficiency. It has been demonstrated in the literature the effectiveness of imprecise computation for both software and hardware components implementing inexact algorithms, showing an inherent resiliency to errors.

This tutorial introduces basic and advanced topics on AxC. We intend to follow a bottom-up approach: from component, up to application-level. More in detail, we will first present existing approximate computing techniques according to three levels: hardware, data and computation. At hardware level, functional approximation through inexact operators and voltage over-scaling will be detailed. At data level, approximation can be carried-out by using efficient arithmetic, precision scaling, less data or less-up-to-date data. We will present some compile-time results in terms of energy-efficiency, area, performance versus accuracy of computations when using customized arithmetic (fixed-point, floating-point) and also, we will try to derive some conclusions by comparing the different paradigms. At computation level, algorithmic transformations are used to reduce complexity by skipping or approximating parts of the processing. The concepts of loop perforation, early termination, memoïzation, and computation approximation will be detailed.

The second part of the tutorial is dedicated to methods and tools to exploit efficiently approximate computing. First of all, the different approaches to analyze approximation effects on application quality will be described. Then the complex problem of word-length optimization for fixed-point and floating-point is considered. Finally, the different frameworks for design space exploration will be detailed.

The last part of the tutorial is devoted to present how AxC paradigm can be exploited in the context of safety-critical applications. More in particular, the tutorial will show how design efficient and low-cost fault tolerance mechanisms.

The outline of the presentation is as follows
  • General introduction Motivations
  • Techniques for approximate computing
    • Data level approximation
    • Hardware level approximation
    • Computation level approximation
  • Methods and tools for approximate computing
    • Analysis of approximation effect on application quality
    • Word-length optimization for fixed-point and floating-point
    • Design space explorationGeneral introduction Motivations
  • Approximate Computing for Safety-Critical Applications
    • Analysis of approximation effect on application quality
    • Word-length optimization for fixed-point and floating-point
    • Design space explorationGeneral introduction Motivations

Agenda

TimeLabelSession
13:30M03.1Tutorial and Conference Registration
14:00M03.2Tutorials start
15:30M03.3Coffee Break for Tutorials
18:00M03.4Tutorials end
18:00M03.5Welcome Reception & PhD Forum