Dexter
A Compiler for Lifting C++ Code to Halide
Dexter is a compiler that rejuvenates legacy image and array processing C++ code by re-writing it to the Halide DSL, thus enabling cross-platform optimization and portability. Given an operation implemented in C++, Dexter uses Verified Lifting, a combination of program synthesis and verification, to discover the algorithm hidden in the low-level code. Once discovered, the algorithm is then automatically compiled to new hardware using Halide, avoiding manual reimplementation.
Publication: SIGGRAPH ASIA 2019
Presentation: Slide deck
Source Code: uwplse/dexter