Blog Post

MIT shows off a programming tool for error-prone chips

If you’re not following the world of semiconductor innovation, you may not realize that one of the more-interesting efforts to create more power-efficient chips is to make them worse at solving problems. The idea is that for many jobs, such as parsing images or even voice processing, making a less accurate chip doesn’t hurt the end result and can cut as much as 19 percent of the chip’s power consumption.

This has been shown off in theory and in silicon, but software to actually run on such chips has been highly customized. On Thursday, MIT showed off a new system that will help make adapting code to run on these new chips easier. The system, called Chisel, analyzes code and tells the programmer where they can make tweaks to operate with more errors. In simulations, the resulting power savings ranged from 9 to 19 percent. From the MIT release:

[blockquote person=”” attribution=””]The system, dubbed Chisel, also features a tool that helps programmers evaluate precisely how much error their programs can tolerate. If 1 percent of the pixels in an image are improperly rendered, will the user notice? How about 2 percent, or 5 percent? Chisel will simulate the execution of the image-rendering algorithm on unreliable hardware as many times as the programmer requests, with as many different error rates. That takes the guesswork out determining accuracy requirements.[/blockquote]

The work on Chisel is building on the Rely programming language that MIT scientists developed last year to let people manually insert commands that would take advantage of the error-prone hardware. Chisel automates that task. So while the field of probabilistic computing is still far out, it’s getting closer to commercial viability.