A New Programming Language For Image-processing Algorithms

Halide is a new programming language designed to make it easier to write high-performance image processing code on modern machines. Its current front end is an embedding in C++. Hardware targets include x86-64/SSE, ARM v7/NEON, and CUDA. Created by researchers at MIT’s Computer Science and Artificial Intelligence Laboratory (CSAIL) Halide was used to rewrite several common image-processing algorithms whose performance had already been optimized by seasoned programmers. The Halide versions were typically about one-third as long but offered significant performance gains — two-, three-, or even six-fold speedups. In one instance, the Halide program was actually longer than the original — but the speedup was 70-fold. The paper is available here and the source will be posted within the next couple of days on github and the projects home here.

Comments (0)

This post does not have any comments. Be the first to leave a comment below.


Post A Comment

You must be logged in before you can post a comment. Login now.

Featured Product

Zaber's Fastest, Longest Travel Stage

Zaber's Fastest, Longest Travel Stage

Zaber's new and improved stage (X-BLQ-E) is a closed-loop, belt-driven motorized linear stage with built-in motor encoder and controller. With travel lengths up to 3 m, 10 µm repeatability, and a maximum speed of 2.0 m/s, X-BLQ-E stages are perfect for rapid positioning over large distances. A built-in motor encoder allows closed-loop operation and slip/stall recovery, and an optional indexed knob provides manual control for operation without a computer. Like all Zaber products, the X-BLQ-E Series is designed for easy set-up and operation.