CONIX Publication

Automating construction and maintenance of the Halide compiler term rewriting system

Authors: Julie Newcomb, Rastislav Bodik, Andrew Adams, Steven Johnson, Shoaib Kamil


Halide is a domain-specific language for high-performance image processing and tensor computations, widely adopted in industry. Internally, the Halide compiler relies on a term rewriting system to prove properties of code required for efficient and correct compilation. In this work, we apply formal techniques to prove the correctness of existing rewrite rules and provide a guarantee of termination. Then, we build an automatic program synthesis system that operates over the undecidable theory of integers in order to craft new, provably correct rules from failure cases where the compiler was unable to prove properties.

Release Date: 10/13/20
Uploaded File: View