Neural Acceleration for General-Purpose Approximate Programs

被引:301
|
作者
Esmaeilzadeh, Hadi [1 ]
Sampson, Adrian [1 ]
Ceze, Luis [1 ]
Burger, Doug
机构
[1] Univ Washington, Seattle, WA 98195 USA
关键词
D O I
10.1109/MICRO.2012.48
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
This paper describes a learning-based approach to the acceleration of approximate programs. We describe the 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 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%.
引用
收藏
页码:449 / 460
页数:12
相关论文
共 50 条
  • [1] Neural Acceleration for General-Purpose Approximate Programs
    Esmaeilzadeh, Hadi
    Sampson, Adrian
    Ceze, Luis
    Burger, Doug
    [J]. COMMUNICATIONS OF THE ACM, 2015, 58 (01) : 105 - 115
  • [2] NEURAL ACCELERATION FOR GENERAL-PURPOSE APPROXIMATE PROGRAMS
    Esmaeilzadeh, Hadi
    Sampson, Adrian
    Ceze, Luis
    Burger, Doug
    [J]. IEEE MICRO, 2013, 33 (03) : 16 - 27
  • [3] Neurocoder: General-Purpose Computation Using Stored Neural Programs
    Le, Hung
    Venkatesh, Svetha
    [J]. INTERNATIONAL CONFERENCE ON MACHINE LEARNING, VOL 162, 2022,
  • [4] Approximate On-The-Fly Coarse-Grained Reconfigurable Acceleration for General-Purpose Applications
    Brandalero, Marcelo
    Carro, Luigi
    Beck, Antonio Carlos S.
    Shafique, Muhammad
    [J]. 2018 55TH ACM/ESDA/IEEE DESIGN AUTOMATION CONFERENCE (DAC), 2018,
  • [5] Containers on the parallelization of general-purpose Java programs
    Wu, Peng
    Padua, David
    [J]. Parallel Architectures and Compilation Techniques - Conference Proceedings, PACT, 1999, : 84 - 90
  • [6] A GENERAL-PURPOSE ALGORITHM FOR ANALYZING CONCURRENT PROGRAMS
    TAYLOR, RN
    [J]. COMMUNICATIONS OF THE ACM, 1983, 26 (05) : 362 - 376
  • [7] Containers on the Parallelization of General-Purpose Java Programs
    Peng Wu
    David Padua
    [J]. International Journal of Parallel Programming, 2000, 28 : 589 - 605
  • [8] A GENERAL-PURPOSE APPROXIMATE GOODNESS-OF-FIT TEST
    CHEN, GM
    BALAKRISHNAN, N
    [J]. JOURNAL OF QUALITY TECHNOLOGY, 1995, 27 (02) : 154 - 161
  • [9] Towards General-Purpose Acceleration: Finding Structure in Irregularity
    Dadu, Vidushi
    Weng, Jian
    Liu, Sihao
    Nowatzki, Tony
    [J]. IEEE MICRO, 2020, 40 (03) : 37 - 46
  • [10] Automatic general-purpose neural hardware generator
    Baptista, Fabio D.
    Morgado-Dias, Fernando
    [J]. NEURAL COMPUTING & APPLICATIONS, 2017, 28 (01): : 25 - 36