Neural Acceleration for General-Purpose Approximate Programs

By Hadi Esmaeilzadeh, Adrian Sampson, Luis Ceze, Doug Burger. 2012

604 citations recorded by the source corpus.

This paper describes a learning-based approach to the acceleration of approximate programs. We describe the \emph{Parrot transformation}, a program transformation that selects and trains a neural network to mimic a region of imperative code. After the learning phase, the compiler replaces the original code with an invocation of a low-power accelerator called a \emph{neural processing unit} (NPU). The NPU is tightly coupled to the processor pipeline to accelerate small code regions. Since neural networks produce inherently approximate results, we define a programming model that allows programmers to identify approximable code regions -- code that can produce imprecise but acceptable results. Offloading approximable code regions to NPUs is faster and more energy efficient than executing the original code. For a set of diverse applications, NPU acceleration provides whole-application speedup of 2.3x and energy savings of 3.0x on average with quality loss of at most 9.6%.

Subfields: Electrical and Electronic Engineering, Hardware and Architecture, Optimization & Training

How researchers see this paper

The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.

In Electrical and Electronic Engineering

  1. Sparsh Mittal
  2. Kaushik Roy
  3. Anand Raghunathan
  4. Swagath Venkataramani
  5. Nam Sung Kim
  6. Gu-Yeon Wei
  7. Todd Mytkowicz
  8. Qiang Xu

In Hardware and Architecture

  1. Gu-Yeon Wei
  2. David M. Brooks
  3. Kaushik Roy
  4. Aiman H. El-Maleh
  5. Yuan Xie
  6. Anand Raghunathan
  7. Nam Sung Kim
  8. Todd Mytkowicz

In Optimization & Training

  1. Aiman H. El-Maleh
  2. Yuan Xie
  3. Tianshi Chen
  4. Anand Raghunathan
  5. Nam Sung Kim
  6. Todd Mytkowicz
  7. Kevin Swersky
  8. Swagath Venkataramani

Citations in the corpus