This website uses cookies primarily for visitor analytics. Certain pages will ask you to fill in contact details to receive additional information. On these pages you have the option of having the site log your details for future visits. Indicating you want the site to remember your details will place a cookie on your device. To view our full cookie policy, please click here. You can also view it at any time by going to our Contact Us page.

Writing graphics software just got a lot easier

03 August 2012

A new programming language for image-processing algorithms yields code that’s much shorter and clearer — but also faster.


Photo courtesy of MIT

Image-processing software is a hot commodity; just look at Instagram, a company built upon image processing that Facebook is trying to buy for a billion dollars. Image processing is also going mobile, as more and more people are sending photos from their mobil phones directly to the Web, without transferring them to a computer first.

At the same time, digital-photo files are getting so big that, without a lot of clever software engineering, processing them would take a painfully long time on a desktop computer, let alone a mobile phone. Unfortunately, the tricks that engineers use to speed up their image-processing algorithms make their code almost unreadable, and rarely reusable. Adding a new function to an image-processing program, or modifying it to run on a different device, often requires rethinking and revising it from top to bottom.

Researchers at MIT’s Computer Science and Artificial Intelligence Laboratory (CSAIL) aim to change that, with a new programming language called Halide. Not only are Halide programs easier to read, write and revise than image-processing programs written in a conventional language, but because Halide automates code-optimisation procedures that would ordinarily take hours to perform by hand, they’re also significantly faster.

In tests, the MIT researchers used Halide to rewrite several common image-processing algorithms whose performance had already been optimised by seasoned programmers. The Halide versions were typically about one-third as long but offered significant performance gains — two-, three-, or even six-fold speed increases. In one instance, the Halide program was actually longer than the original — but the speed increase was 70-fold.

Jonathan Ragan-Kelley, a graduate student in the Department of Electrical Engineering and Computer Science, and Andrew Adams, a CSAIL post doctoral researcher, led the development of Halide, and they’ve released the code online. At this month’s Siggraph, the premier graphics conference, they’ll present a paper on Halide, which they co-wrote with MIT computer science professors Saman Amarasinghe and Fredo Durand and with colleagues at Adobe and Stanford University.


Contact Details and Archive...

Print this page | E-mail this page

Drives and Controls 2020