Accuracy-Aware Compilers

Research output: Chapter in Book/Report/Conference proceedingChapter


Many modern applications (such as multimedia processing, machine learning, and big data analytics) exhibit a natural tradeoff between the accuracy of the results they produce and the application’s execution time or energy consumption. These applications allow us to investigate new, more aggressive program optimization approaches. This chapter outlines the foundation of program optimization systems that expose and profitably exploit tradeoffs between the accuracy of the results that the program produces and the time and energy required to produce those results. These systems apply accuracy-aware program transformations that intentionally change the semantics of optimized programs. We discuss program analysis techniques that quantify the loss of accuracy introduced by program transformations. We will present the fundamental techniques for the accuracy-aware compilation that help us discover and characterize the accuracy-performance tradeoffs in sequential programs. Through two case studies, we will describe two main directions in developing accuracy-aware compilers: (1) sensitivity profiling-based techniques speculatively execute candidate transformed programs and use dynamic program analysis to reason about their accuracy, while (2) analysis-based techniques use static analysis to derive formulas that characterize acceptable results and use mathematical optimization to find the best performing program versions, without executing them.

Original languageEnglish (US)
Title of host publicationApproximate Computing Techniques
Subtitle of host publicationFrom Component- to Application-Level
Number of pages38
ISBN (Electronic)9783030947057
ISBN (Print)9783030947040
StatePublished - Jan 1 2022


  • Accuracy-aware program transformations
  • Approximate computing
  • Compilation
  • Energy model
  • Error and accuracy metrics
  • High performance
  • Loop perforation
  • Low energy
  • Low power
  • Sensitivity profiling
  • Static analysis

ASJC Scopus subject areas

  • General Engineering
  • General Computer Science


Dive into the research topics of 'Accuracy-Aware Compilers'. Together they form a unique fingerprint.

Cite this