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

Teaser Talk


Dexter is jointly developed by the folks at the University of Washington PLSE Group, UC Berkeley, Adobe Research, and Intel Labs. The main developers of Dexter are: