Halide (programming language)

Halide is a computer programming language designed for writing digital image processing code that takes advantage of memory locality, vectorized computation and multi-core central processing units (CPU) and graphics processing units (GPU).

[1] Halide is implemented as an internal domain-specific language (DSL) in C++.

The main innovation Halide brings is the separation of the algorithm being implemented from its execution schedule, i.e. code specifying the loop nesting, parallelization, loop unrolling and vector instruction.

The following function defines and sets the schedule for a 3×3 box filter defined as a series of two 3×1 passes: Google used Halide and TensorFlow for its Pixel 2 Pixel Visual Core.

[3] Both Google and Adobe have been involved in Halide research.