Shallow Embedding of DSLs via Online Partial Evaluation

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

Best Paper Award

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.

In Proceedings of the 14th International Conference on Generative Programming: Concepts & Experiences (GPCE), pp. 11-20, Pittsburgh, PA, USA, October 26-27, 2015

[pdf] [doi>10.1145/2936314.2814208]

@inproceedings{leissa2015shallow,
  author       = {Leißa, Roland and Boesche, Klaas and Hack, Sebastian and Membarth, Richard and Slusallek, Philipp},
  address      = {Pittsburgh, PA, USA},
  booktitle    = {Proceedings of the 14th International Conference on Generative Programming: Concepts \& Experiences (GPCE)},
  title        = {{Shallow Embedding of DSLs via Online Partial Evaluation}},
  pages        = {11--20},
  year         = 2015,
  month        = oct,
  note         = {{Best Paper Award}},
  date         = {2015-10-26/2015-10-27},
  doi          = {10.1145/2814204.2814208},
  organization = {ACM}
}