halide is an actively used programming language created in 2010. a language for fast, portable computation on images and tensors

10Years Old ?Users ?Jobs

Example code from the web:

Func blur_3x3(Func input) {
 Func blur_x, blur_y;
 Var x, y, xi, yi;

 // The algorithm - no storage or order
 blur_x(x, y) = (input(x-1, y) + input(x, y) + input(x+1, y))/3;
 blur_y(x, y) = (blur_x(x, y-1) + blur_x(x, y) + blur_x(x, y+1))/3;

 // The schedule - defines order, locality; implies storage
 blur_y.tile(x, y, xi, yi, 256, 32)
       .vectorize(xi, 8).parallel(y);
 blur_x.compute_at(blur_y, x).vectorize(x, 8);

 return blur_y;

Last updated August 9th, 2020

Edit halide on GitHub