Bridging the Gap Between General-Purpose and Domain-Specific Compilers with Synthesis
Author(s)
Cheung, Alvin; Kamil, Shoaib; Solar Lezama, Armando
DownloadBridging the gap.pdf (502.3Kb)
PUBLISHER_CC
Publisher with Creative Commons License
Creative Commons Attribution
Terms of use
Metadata
Show full item recordAbstract
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.
Date issued
2015Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory; Massachusetts Institute of Technology. Department of Electrical Engineering and Computer ScienceJournal
Leibniz International Proceedings in Informatics (LIPIcs)
Publisher
Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik
Citation
Cheung, Alvin, Shoaib Kamil, and Armando Solar-Lezama. "Bridging the Gap Between General-Purpose and Domain-Specific Compilers with Synthesis." Leibniz International Proceedings in Informatics (LIPIcs), vol. 32, 2015, pp. 51-61.
Version: Final published version
ISBN
978-3-939897-80-4
ISSN
1868-8969