Bridging the Gap Between General-Purpose and Domain-Specific Compilers with Synthesis
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 dom...
Հիմնական հեղինակներ: | , , |
---|---|
Այլ հեղինակներ: | |
Ձևաչափ: | Հոդված |
Լեզու: | en_US |
Հրապարակվել է: |
Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik
2018
|
Առցանց հասանելիություն: | http://hdl.handle.net/1721.1/113362 https://orcid.org/0000-0001-7604-8252 |
_version_ | 1826205113229770752 |
---|---|
author | Cheung, Alvin Kamil, Shoaib Solar Lezama, Armando |
author2 | Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory |
author_facet | Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory Cheung, Alvin Kamil, Shoaib Solar Lezama, Armando |
author_sort | Cheung, Alvin |
collection | MIT |
description | 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. |
first_indexed | 2024-09-23T13:07:15Z |
format | Article |
id | mit-1721.1/113362 |
institution | Massachusetts Institute of Technology |
language | en_US |
last_indexed | 2024-09-23T13:07:15Z |
publishDate | 2018 |
publisher | Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik |
record_format | dspace |
spelling | mit-1721.1/1133622022-10-01T13:12:04Z Bridging the Gap Between General-Purpose and Domain-Specific Compilers with Synthesis Cheung, Alvin Kamil, Shoaib Solar Lezama, Armando Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science Kamil, Shoaib Solar Lezama, Armando 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. 2018-01-30T21:40:44Z 2018-01-30T21:40:44Z 2015 Article http://purl.org/eprint/type/ConferencePaper 978-3-939897-80-4 1868-8969 http://hdl.handle.net/1721.1/113362 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. https://orcid.org/0000-0001-7604-8252 en_US http://dx.doi.org/10.4230/LIPIcs.SNAPL.2015.51 Leibniz International Proceedings in Informatics (LIPIcs) Creative Commons Attribution 4.0 International License http://creativecommons.org/licenses/by/4.0/ application/pdf Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik Dagstuhl Publishing |
spellingShingle | Cheung, Alvin Kamil, Shoaib Solar Lezama, Armando Bridging the Gap Between General-Purpose and Domain-Specific Compilers with Synthesis |
title | Bridging the Gap Between General-Purpose and Domain-Specific Compilers with Synthesis |
title_full | Bridging the Gap Between General-Purpose and Domain-Specific Compilers with Synthesis |
title_fullStr | Bridging the Gap Between General-Purpose and Domain-Specific Compilers with Synthesis |
title_full_unstemmed | Bridging the Gap Between General-Purpose and Domain-Specific Compilers with Synthesis |
title_short | Bridging the Gap Between General-Purpose and Domain-Specific Compilers with Synthesis |
title_sort | bridging the gap between general purpose and domain specific compilers with synthesis |
url | http://hdl.handle.net/1721.1/113362 https://orcid.org/0000-0001-7604-8252 |
work_keys_str_mv | AT cheungalvin bridgingthegapbetweengeneralpurposeanddomainspecificcompilerswithsynthesis AT kamilshoaib bridgingthegapbetweengeneralpurposeanddomainspecificcompilerswithsynthesis AT solarlezamaarmando bridgingthegapbetweengeneralpurposeanddomainspecificcompilerswithsynthesis |