ApproxTuner: A compiler and runtime system for adaptive approximations

Hashim Sharif, Yifan Zhao, Maria Kotsifakou, Akash Kothari, Ben Schreiber, Elizabeth Wang, Yasmin Sarita, Nathan Zhao, Keyur Joshi, Vikram S. Adve, Sasa Misailovic, Sarita Adve

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Manually optimizing the tradeoffs between accuracy, performance and energy for resource-intensive applications with flexible accuracy or precision requirements is extremely difficult. We present ApproxTuner, an automatic framework for accuracy-aware optimization of tensor-based applications while requiring only high-level end-to-end quality specifications. ApproxTuner implements and manages approximations in algorithms, system software, and hardware. The key contribution in ApproxTuner is a novel three-phase approach to approximation-tuning that consists of development-time, install-time, and run-time phases. Our approach decouples tuning of hardware-independent and hardware-specific approximations, thus providing retargetability across devices. To enable efficient autotuning of approximation choices, we present a novel accuracy-aware tuning technique called predictive approximation-tuning, which significantly speeds up autotuning by analytically predicting the accuracy impacts of approximations. We evaluate ApproxTuner across 10 convolutional neural networks (CNNs) and a combined CNN and image processing benchmark. For the evaluated CNNs, using only hardware-independent approximation choices we achieve a mean speedup of 2.1x (max 2.7x) on a GPU, and 1.3x mean speedup (max 1.9x) on the CPU, while staying within 1 percentage point of inference accuracy loss. For two different accuracy-prediction models, ApproxTuner speeds up tuning by 12.8x and 20.4x compared to conventional empirical tuning while achieving comparable benefits.

Original languageEnglish (US)
Title of host publicationPPoPP 2021 - Proceedings of the 2021 26th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
PublisherAssociation for Computing Machinery
Pages262-277
Number of pages16
ISBN (Electronic)9781450382946
DOIs
StatePublished - Feb 17 2021
Event26th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2021 - Virtual, Online, Korea, Republic of
Duration: Feb 27 2021Mar 3 2021

Publication series

NameProceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP

Conference

Conference26th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2021
CountryKorea, Republic of
CityVirtual, Online
Period2/27/213/3/21

Keywords

  • approximate computing
  • compilers
  • deep neural networks
  • heterogeneous systems

ASJC Scopus subject areas

  • Software

Fingerprint Dive into the research topics of 'ApproxTuner: A compiler and runtime system for adaptive approximations'. Together they form a unique fingerprint.

Cite this