Neural Acceleration for General-Purpose Approximate Programs

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 origin...

Full description

Saved in:
Bibliographic Details
Published in:2012 45th Annual IEEE/ACM International Symposium on Microarchitecture pp. 449 - 460
Main Authors: Esmaeilzadeh, H., Sampson, A., Ceze, L., Burger, D.
Format: Conference Proceeding
Language:English
Published: IEEE 01.12.2012
Subjects:
ISSN:1072-4451
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Abstract 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.3× and energy savings of 3.0× on average with quality loss of at most 9.6%.
AbstractList 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.3× and energy savings of 3.0× on average with quality loss of at most 9.6%.
Author Burger, D.
Sampson, A.
Ceze, L.
Esmaeilzadeh, H.
Author_xml – sequence: 1
  givenname: H.
  surname: Esmaeilzadeh
  fullname: Esmaeilzadeh, H.
  email: hadianeh@cs.washington.edu
– sequence: 2
  givenname: A.
  surname: Sampson
  fullname: Sampson, A.
  email: asampson@cs.washington.edu
– sequence: 3
  givenname: L.
  surname: Ceze
  fullname: Ceze, L.
  email: luisceze@cs.washington.edu
– sequence: 4
  givenname: D.
  surname: Burger
  fullname: Burger, D.
  email: dburger@microsoft.com
BookMark eNotjs1Kw0AURkeoYK1ZunKTF0icO_8X3ISgtVBtEV2XaXJHAmkSJino2xuoq4-zOIfvli26viPG7oHnABwf3zblxy4XHESu3BVL0DpuDWqFQrkFWwK3IlNKww1LxrE5cqm15tKqJXt6p3P0bVpUFbUU_dT0XRr6mK6pm7HN9uc49COlxTDE_qc5-YnSfey_oz-Nd-w6-Hak5H9X7Ovl-bN8zba79aYstpmXHKcs2EoFALAGKofKgwHrfRA1EdbeBdBoFOqjlVzp2gIKU3PPEX2lXG2NXLGHS7chosMQ5xfx9zA70iiQf2b8SY8
CODEN IEEPAD
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
RIE
RIL
DOI 10.1109/MICRO.2012.48
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Xplore POP ALL
IEEE Xplore All Conference Proceedings
IEEE/IET Electronic Library
IEEE Proceedings Order Plans (POP All) 1998-Present
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Xplore
  url: https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISBN 9780769549248
9781467348195
0769549241
1467348198
EndPage 460
ExternalDocumentID 6493641
Genre orig-research
GroupedDBID -~X
123
29O
6IE
6IF
6IK
6IL
6IN
AAJGR
AAWTH
ADZIZ
AFFNX
ALMA_UNASSIGNED_HOLDINGS
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CBEJK
CHZPO
IPLJI
M43
OCL
RIE
RIL
RNS
ID FETCH-LOGICAL-a309t-f7c4f111761c894a1617aaf2dee9da8f1596495b73045d71926d0a099ac48d763
IEDL.DBID RIE
ISICitedReferencesCount 320
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000319333900039&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
ISSN 1072-4451
IngestDate Wed Aug 27 02:44:23 EDT 2025
IsPeerReviewed false
IsScholarly true
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-a309t-f7c4f111761c894a1617aaf2dee9da8f1596495b73045d71926d0a099ac48d763
PageCount 12
ParticipantIDs ieee_primary_6493641
PublicationCentury 2000
PublicationDate 2012-12
PublicationDateYYYYMMDD 2012-12-01
PublicationDate_xml – month: 12
  year: 2012
  text: 2012-12
PublicationDecade 2010
PublicationTitle 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture
PublicationTitleAbbrev micro
PublicationYear 2012
Publisher IEEE
Publisher_xml – name: IEEE
SSID ssib035550374
ssj0001035055
ssj0008695
Score 2.4349184
Snippet This paper describes a learning-based approach to the acceleration of approximate programs. We describe the \emph{Parrot transformation}, a program...
SourceID ieee
SourceType Publisher
StartPage 449
SubjectTerms Accelerator
Approximate Computing
Neural Networks
Neural Processing Unit
NPU
Title Neural Acceleration for General-Purpose Approximate Programs
URI https://ieeexplore.ieee.org/document/6493641
WOSCitedRecordID wos000319333900039&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LSwMxEB5q8eCpaiu-2YNH03a72TzASxGLp7qIQm8lzQMK0kof4s93JrvtevDibckhZGeSeSQz3wdwp61MjcXNm2aCMx54zmaZEYynQVlCxp1lLpJNyPFYTSa6aMD9vhfGex-Lz3yXPuNbvlvaLV2V9QTXOCPmOgdSirJXa7d30G3mBKVS36_Qk1leh8JKRAYWzHYGjEC5arzNHv7v6wtVeQ26RAP0i2UlOplR63_LO4ZO3a2XFHs_dAINvziF1o6uIalObxseCIjDfCRDa9HXlJpPMGZNKuhpVqDQl2ufDAln_HuOsWycmOq31h14Hz29PT6zijyBmayvNyxIywMaMilSqzQ3lMcYEwbOe-2MChjG4HrzmaSnUicx0BOubzBeNJYrh1bnDJqL5cKfQ5J6jvbUWa2D4AZVbtHf5X0cVcrzLLuANglj-lniY0wrOVz-PXwFRyTqsiTkGpqb1dbfwKH92szXq9uo1B-kyZ1S
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1LSwMxEB5KFfRUtRXf7sGjafeRzSbgpYilYq1FKvRW0iQLhdJKH-LPd2Z32_XgxduSQ8jOJPNIZr4P4E6ZJNAGN28QCc54ymM2ibRgPEilIWTcSWQzsomk35ejkRpU4H7XC-Ocy4rPXJM-s7d8uzAbuiprCa5wRsx19mLOQz_v1truHnScMYGplDcs9GgWl8GwFBkHC-Y7ISNYrhJxs4V__P5GdV5hk4iAfvGsZG6mU_vfAo-gUfbreYOdJzqGipufQG1L2OAV57cODwTFoWde2xj0NrnuPYxavQJ8mg1Q7IuV89qENP49xWg2m5gquFYN-Og8DR-7rKBPYDry1ZqlieEpmrJEBEYqrimT0ToNrXPKapliIIPrjScJPZbaBEM9YX2NEaM2XFq0O6dQnS_m7gy8wHG0qNYolQquUekGPV7s46iUjkfROdRJGOPPHCFjXMjh4u_hWzjoDl97495z_-USDknseYHIFVTXy427hn3ztZ6uljeZgn8ACT2gmQ
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=2012+45th+Annual+IEEE%2FACM+International+Symposium+on+Microarchitecture&rft.atitle=Neural+Acceleration+for+General-Purpose+Approximate+Programs&rft.au=Esmaeilzadeh%2C+H.&rft.au=Sampson%2C+A.&rft.au=Ceze%2C+L.&rft.au=Burger%2C+D.&rft.date=2012-12-01&rft.pub=IEEE&rft.issn=1072-4451&rft.spage=449&rft.epage=460&rft_id=info:doi/10.1109%2FMICRO.2012.48&rft.externalDocID=6493641
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=1072-4451&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=1072-4451&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=1072-4451&client=summon