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...