(08/02/12) Larry Hardesty
Massachusetts Institute of Technology (MIT) researchers have developed Halide, a programming language they say creates software that is easier to read, write, and revise than image-processing programs written in a conventional language. Halide also automates code-optimization procedures, making the coding process much faster than with other languages. The researchers used Halide to rewrite several common image-processing algorithms that had already been optimized by professional programmers. They say the Halide versions saw as much as six-fold performance gains. A Halide program has one section for the algorithms and another for the processing schedule, which can specify the size and shape of the image chunks that each core needs to process at each step in the schedule. After the schedule has been developed, Halide automatically handles the accounting. "When you have the idea that you might want to parallelize something a certain way or use stages a certain way, when writing that manually, it’s really hard to express that idea correctly," notes MIT's Jonathan Ragan-Kelley. University of California, Davis professor John Owens says Halide "really has all the pieces you want from a completed system, and it’s in a really important application domain."