License
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.SNAPL.2015.51
URN: urn:nbn:de:0030-drops-50162
URL: http://drops.dagstuhl.de/opus/volltexte/2015/5016/
Go to the corresponding LIPIcs Volume Portal


Cheung, Alvin ; Kamil, Shoaib ; Solar-Lezama, Armando

Bridging the Gap Between General-Purpose and Domain-Specific Compilers with Synthesis

pdf-format:
6.pdf (0.5 MB)


Abstract

This paper describes a new approach to program optimization that allows general purpose code to benefit from the optimization power of domain-specific compilers. The key to this approach is a synthesis-based technique to raise the level of abstraction of general-purpose code to enable aggressive domain-specific optimizations. We have been implementing this approach in an extensible system called Herd. The system is designed around a collection of parameterized kernel translators. Each kernel translator is associated with a domain-specific compiler, and the role of each kernel translator is to scan the input code in search of code fragments that can be optimized by the domain-specific compiler embedded within each kernel translator. By leveraging general synthesis technology, it is possible to have a generic kernel translator that can be specialized by compiler developers for each domain-specific compiler, making it easy to build new domain knowledge into the overall system. We illustrate this new approach to build optimizing compilers in two different domains, and highlight research challenges that need to be addressed in order to achieve the ultimate vision.

BibTeX - Entry

@InProceedings{cheung_et_al:LIPIcs:2015:5016,
  author =	{Alvin Cheung and Shoaib Kamil and Armando Solar-Lezama},
  title =	{{Bridging the Gap Between General-Purpose and Domain-Specific Compilers with Synthesis}},
  booktitle =	{1st Summit on Advances in Programming Languages (SNAPL 2015)},
  pages =	{51--62},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-939897-80-4},
  ISSN =	{1868-8969},
  year =	{2015},
  volume =	{32},
  editor =	{Thomas Ball and Rastislav Bodik and Shriram Krishnamurthi and Benjamin S. Lerner and Greg Morrisett},
  publisher =	{Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{http://drops.dagstuhl.de/opus/volltexte/2015/5016},
  URN =		{urn:nbn:de:0030-drops-50162},
  doi =		{10.4230/LIPIcs.SNAPL.2015.51},
  annote =	{Keywords: compilers, domain-specific languages, program synthesis, cross compilation, verification}
}

Keywords: compilers, domain-specific languages, program synthesis, cross compilation, verification
Seminar: 1st Summit on Advances in Programming Languages (SNAPL 2015)
Issue Date: 2015
Date of publication: 28.04.2015


DROPS-Home | Fulltext Search | Imprint | Privacy Published by LZI