Managing performance vs. accuracy trade-offs with loop perforation
Stelios Sidiroglou-Douskos,Sasa Misailovic,Henry Hoffmann,Martin Rinard +3 more
- pp 124-134
Reads0
Chats0
TLDR
The results indicate that, for a range of applications, this approach typically delivers performance increases of over a factor of two (and up to a factors of seven) while changing the result that the application produces by less than 10%.Abstract:
Many modern computations (such as video and audio encoders, Monte Carlo simulations, and machine learning algorithms) are designed to trade off accuracy in return for increased performance. To date, such computations typically use ad-hoc, domain-specific techniques developed specifically for the computation at hand. Loop perforation provides a general technique to trade accuracy for performance by transforming loops to execute a subset of their iterations. A criticality testing phase filters out critical loops (whose perforation produces unacceptable behavior) to identify tunable loops (whose perforation produces more efficient and still acceptably accurate computations). A perforation space exploration algorithm perforates combinations of tunable loops to find Pareto-optimal perforation policies. Our results indicate that, for a range of applications, this approach typically delivers performance increases of over a factor of two (and up to a factor of seven) while changing the result that the application produces by less than 10%.read more
Citations
More filters
Journal ArticleDOI
Automatic Software Repair: a Bibliography
TL;DR: This article considers behavioral repair where test suites, contracts, models, and crashing inputs are taken as oracle, and state repair, also known as runtime repair or runtime recovery, with techniques such as checkpoint and restart, reconfiguration, and invariant restoration.
Proceedings ArticleDOI
Stochastic optimization of floating-point programs with tunable precision
TL;DR: The ability to generate reduced precision implementations of Intel's handwritten C numeric library which are up to 6 times faster than the original code, and achieve end-to-end speedups by optimizing kernels that can tolerate a loss of precision while still remaining correct are demonstrated.
Journal ArticleDOI
A survey of data partitioning and sampling methods to support big data analysis
Mohammad Sultan Mahmud,Joshua Zhexue Huang,Salman Salloum,Tamer Z. Emara,Kuanishbay Sadatdiynov +4 more
TL;DR: It is believed that data partitioning and sampling should be considered together to build approximate cluster computing frameworks that are reliable in both the computational and statistical respects.
Proceedings ArticleDOI
Proving programs robust
TL;DR: The analysis can be used to guarantee the predictable execution of embedded control software, whose inputs come from physical sources and can suffer from error and uncertainty, and can provide foundations for a recently-proposed program approximation scheme calledloop perforation.
Proceedings ArticleDOI
SNNAP: Approximate computing on programmable SoCs via neural acceleration
TL;DR: SNNAP is designed to work with a compiler workflow that configures the neural network's topology and weights instead of the programmable logic of the FPGA itself, which enables effective use of neural acceleration in commercially available devices and accelerates different applications without costly FPGAs reconfigurations.
References
More filters
Proceedings ArticleDOI
LLVM: a compilation framework for lifelong program analysis & transformation
Chris Lattner,Vikram Adve +1 more
TL;DR: The design of the LLVM representation and compiler framework is evaluated in three ways: the size and effectiveness of the representation, including the type information it provides; compiler performance for several interprocedural problems; and illustrative examples of the benefits LLVM provides for several challenging compiler problems.
Journal ArticleDOI
The JPEG still picture compression standard
TL;DR: The Baseline method has been by far the most widely implemented JPEG method to date, and is sufficient in its own right for a large number of applications.
Proceedings ArticleDOI
The PARSEC benchmark suite: characterization and architectural implications
TL;DR: This paper presents and characterizes the Princeton Application Repository for Shared-Memory Computers (PARSEC), a benchmark suite for studies of Chip-Multiprocessors (CMPs), and shows that the benchmark suite covers a wide spectrum of working sets, locality, data sharing, synchronization and off-chip traffic.
Related Papers (5)
Green: a framework for supporting energy-conscious programming using controlled approximation
Woongki Baek,Trishul Chilimbi +1 more