Halide: The new parallel programming language for high performance
The software industry moves slowly toward the use of multi-core microprocessors and multiple calculation units GPUs with increasingly modern programming environments that make it possible. A platform that is gaining popularity is quite OpenCL, which although it was developed to exploit the massive parallelism of GPUs, you can also take advantage of multiple CPU cores and vector units as modern and FMA4 AVX/3.
A group of researchers from the Artificial Intelligence Lab and Computer Science at the Massachusetts Institute of Technology (MIT CSAIL) have developed a new programming Language which they call Halide, which is oriented image processing in multi-core, yet is makes it easy to write / test the code and can automatically optimize.
According to his evidence migrate the application code to language code Halide is 30% longer than traditional languages, but it compensates by offering a yield 2, 3, 6 and in some cases up to 70 times faster. Just awesome.
The secret of the new language is its modular design, which comprises two sections: one for general-purpose algorithms and one for the process scheduler (scheduler), the latter commands to modify on the fly and without required to modify the program code, allowing multiple and experience new ideas without the need to review or rewrite the program.
Thanks to the modular construction of Halide, you can migrate applications developed with it to new platforms by simply changing the scheduler module, making Halide in a multi-platform.70 times, code, environment, Halide, Imagery, Language, MIT, modular, module, multi core, parallel, performance, planner, programming, prosecution, scheduler