Affiliation:
1. University of Washington, Seattle, WA, USA
Abstract
Energy is increasingly a first-order concern in computer systems. Exploiting energy-accuracy trade-offs is an attractive choice in applications that can tolerate inaccuracies. Recent work has explored exposing this trade-off in programming models. A key challenge, though, is how to
isolate parts of the program that must be precise from those that can be approximated
so that a program functions correctly even as quality of service degrades.
We propose using type qualifiers to declare data that may be subject to approximate computation. Using these types, the system automatically maps approximate variables to low-power storage, uses low-power operations, and even applies more energy-efficient algorithms provided by the programmer. In addition, the system can statically guarantee isolation of the precise program component from the approximate component. This allows a programmer to control explicitly how information flows from approximate data to precise data. Importantly, employing static analysis eliminates the need for dynamic checks, further improving energy savings. As a proof of concept, we develop EnerJ, an extension to Java that adds approximate data types. We also propose a hardware architecture that offers explicit approximate storage and computation. We port several applications to EnerJ and show that our extensions are expressive and effective; a small number of annotations lead to significant potential energy savings (10%-50%) at very little accuracy cost.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
238 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Feature-driven Approximate Computing for Wearable Health-Monitoring Systems;Proceedings of the Great Lakes Symposium on VLSI 2024;2024-06-12
2. Interleaved Execution of Approximated CUDA Kernels in Iterative Applications;2024 32nd Euromicro International Conference on Parallel, Distributed and Network-Based Processing (PDP);2024-03-20
3. Approximate Similarity-Aware Compression for Non-Volatile Main Memory;Journal of Computer Science and Technology;2024-01-30
4. HPAC-Offload: Accelerating HPC Applications with Portable Approximate Computing on the GPU;Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis;2023-11-11
5. Turaco: Complexity-Guided Data Sampling for Training Neural Surrogates of Programs;Proceedings of the ACM on Programming Languages;2023-10-16