|COOKIES: By using this website you agree that we can place Google Analytics Cookies on your device for performance monitoring.|
Disciplined Approximate Computing: From Language to Hardware, and Beyond
If you have a question about this talk, please contact Microsoft Research Cambridge Talks Admins.
This event may be recorded and made available internally or externally via http://research.microsoft.com. Microsoft will own the copyright of any recordings made. If you do not wish to have your image/voice recorded please consider this before attending
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. 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. Addressing that challenge leads to opportunities for approximate computing across the entire system stack.
In this talk I will describe our effort on co-designing language, hardware and system support to take advantage of approximate computing across the system stack in a safe and efficient way. We use type qualifiers to declare data that may be subject to approximate computation. Using these types, the system automatically maps approximate variables to potentially imprecise and unreliable but much more efficient storage and data operations, as well as 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. I will describe a micro-architecture that offers explicit approximate storage and computation and a proposal on using neural networks as approximate accelerators for general programs. I will conclude with an overview of our current/future research directions, including language extensions for quality-of-result specification, programming tools, approximate persistent storage and approximate wireless communication.
This talk is part of the Microsoft Research Cambridge, public talks series.
This talk is included in these lists:
Note that ex-directory lists are not shown.
Other listsComputing downward Lowenheim-Skolem: Hands on with the real algebraic numbers Behavioural and Clincial Neuroscience Seminars Cambridge Science Festival
Other talksMicro-Policies: A Framework for Tag-Based Security Monitors Validity unpacked Peter Whittle Colloquium Technology Development Driving human stem cell differentiation: lessons from the frog Webinars for Professional Development in the Arts Series 8: "Collaborating in code: Composer learning to communicate within the orchestra"