Shallow Embedding of DSLs via Online Partial Evaluation

Roland Leißa, Klaas Boesche, Sebastian Hack, Richard Membarth, Philipp Slusallek

In: Proceedings of the 14th International Conference on Generative Programming: Concepts & Experiences (GPCE). International Conference on Generative Programming: Concepts & Experiences (GPCE-15) October 26-27 Pittsburgh PA United States Pages 11-20 ACM 10/2015.


This paper investigates shallow embedding of DSLs by means of online partial evaluation. To this end, we present a novel online partial evaluator for continuation-passing style languages. We argue that it has, in contrast to prior work, a predictable termination policy that works well in practice. We present our approach formally using a continuation-passing variant of PCF and prove its termination properties. We evaluate our technique experimentally in the field of visual and high-performance computing and show that our evaluator produces highly specialized and efficient code for CPUs as well as GPUs that matches the performance of hand-tuned expert code.

Weitere Links

German Research Center for Artificial Intelligence
Deutsches Forschungszentrum für Künstliche Intelligenz