Coarse Approximator Compilation

Lead Research Organisation: Heriot-Watt University
Department Name: S of Mathematical and Computer Sciences

Abstract

Computers have revolutionised our lives, from mobile phones that exceed the computational power of early supercomputers by orders of magnitudes, to today's supercomputers that help discovery of new drugs to cure serious diseases and to design more energy efficient vehicles and buildings. All this progress has been made possible by continuously increasing computational power. However, there are two threats to this trend. First, harnessing this resource has become increasingly difficult. Imagine a car that provides direct control of fuel mix, 20 gears and adjustable valve timing. This car will provide excellent performance, but requires a driver with an engineering degree to make the optimal adjustments. Second, similar to improved car fuel efficiency, there is increasing demand for improved computational energy efficiency. We cannot attach larger batteries to a mobile phone, or build a nuclear power station next to each data centre. While there are ongoing discoveries that improve efficiency, these solutions intensify the first problem: they increase the difficulty. For a solution to be truly practical it needs to be usable by non-experts! This project aims to address this in case of Approximate Computing -- a recently proposed technology aiming to increase energy efficiency by orders of magnitude.

The basic insight of approximate computing is that, traditionally, computers always provide a precise and exact solution instead of a good enough solution. This obsession with precision is very energy wasteful. Imagine that you quickly look into your wallet to check how much cash you carry, you wonder if it is a 1-2 GBP, about 20 GBP or more than 50 GBP. One usually does not really care if it is 17.42 GBP or 17.43 GBP. In such a situation, it would be a waste of time to count the cash precisely. Research has shown that a vast body of problems can take advantage of this kind of imprecision.

This research project aims to make approximate computing technology available to non-expert programmers. In particular, the main obstacle for widespread adaptation is that current state of the art in approximate computing burdens the application programmer with providing a suitable approximate alternative. This is comparable to burdening the driver of a car with sophisticated mechanical tasks such as changing a timing belt. The premise of this project is that it is possible to derive an approximation automatically and that this process should be integrated with the tool that every programmer already uses -- the compiler.

Planned Impact

A successful outcome of this project will benefit all users of compute intensive tasks. Such tasks included mobile devices that provide augmented reality to high performance computing simulation in drug discovery or engineering. It will allow these tasks to be completed faster, while requiring less energy. The latter directly relates to improved life and reduced global energy consumption with all associated benefits to the environment and quality of life. Additionally, it will enable computations order of magnitudes more complex than today. These enable additional breakthroughs in medical and engineering research, as well as providing new functionalities to mobile devices.

For these benefits to be realised it is important to make the technology developed in this project available as widely as possible. We will pursue multiple routes:

-) Our project partner Luis Ceze is well established in the approximate computing community and works as a consultant for Microsoft Research. He will disseminate results to the wider approximate computing community as well as to one of the largest software developers in the world. In particular, Microsoft produces also one of the most widely used compilers: Visual Studio.
-) Our project partner Codeplay customises compiler technology to their customer's needs. Codeplay's customers range from local SMEs to multinational companies such as Sony. Codeplay is very interested to commercialise results of this project and integrate them with their and their customer's technologies.
-) By building this project on the LLVM infrastructure (widely used in industry and other academic groups) and making the outcomes available as open source, we provide a pathway for easy adaptation.

Publications

10 25 50
publication icon
Wen Y (2018) MaxPair

 
Description The grant has not produced any direct outcomes as it was hit by severe staffing issues 3 months into funding.
Exploitation Route They will not.
Sectors Digital/Communication/Information Technologies (including Software)