Generation of Compiler Backends from Formal Models of Hardware

Gus Henry Smith
{"title":"Generation of Compiler Backends from Formal Models of Hardware","authors":"Gus Henry Smith","doi":"arxiv-2408.15429","DOIUrl":null,"url":null,"abstract":"Compilers convert between representations -- usually, from higher-level,\nhuman writable code to lower-level, machine-readable code. A compiler backend\nis the portion of the compiler containing optimizations and code generation\nroutines for a specific hardware target. In this dissertation, I advocate for a\nspecific way of building compiler backends: namely, by automatically generating\nthem from explicit, formal models of hardware using automated reasoning\nalgorithms. I describe how automatically generating compilers from formal\nmodels of hardware leads to increased optimization ability, stronger\ncorrectness guarantees, and reduced development time for compiler backends. As\nevidence, I present two case studies: first, Glenside, which uses equality\nsaturation to increase the 3LA compiler's ability to offload operations to\nmachine learning accelerators, and second, Lakeroad, a technology mapper for\nFPGAs which uses program synthesis and semantics extracted from Verilog to map\nhardware designs to complex, programmable hardware primitives.","PeriodicalId":501197,"journal":{"name":"arXiv - CS - Programming Languages","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2024-08-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Programming Languages","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2408.15429","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

Compilers convert between representations -- usually, from higher-level, human writable code to lower-level, machine-readable code. A compiler backend is the portion of the compiler containing optimizations and code generation routines for a specific hardware target. In this dissertation, I advocate for a specific way of building compiler backends: namely, by automatically generating them from explicit, formal models of hardware using automated reasoning algorithms. I describe how automatically generating compilers from formal models of hardware leads to increased optimization ability, stronger correctness guarantees, and reduced development time for compiler backends. As evidence, I present two case studies: first, Glenside, which uses equality saturation to increase the 3LA compiler's ability to offload operations to machine learning accelerators, and second, Lakeroad, a technology mapper for FPGAs which uses program synthesis and semantics extracted from Verilog to map hardware designs to complex, programmable hardware primitives.
从硬件的形式化模型生成编译器后端
编译器在各种表示法之间进行转换,通常是从高级的、人类可写的代码转换为低级的、机器可读的代码。编译器后端是编译器中包含针对特定硬件目标的优化和代码生成程序的部分。在这篇论文中,我主张采用一种特定的方式来构建编译器后端:即使用自动推理算法从硬件的显式形式模型中自动生成编译器后端。我描述了如何从硬件的形式化模型自动生成编译器,从而提高优化能力、加强正确性保证并缩短编译器后端开发时间。作为例证,我介绍了两个案例研究:第一,Glenside,它使用相等饱和度来提高 3LA 编译器向机器学习加速器卸载操作的能力;第二,Lakeroad,一种用于FPGA 的技术映射器,它使用从 Verilog 中提取的程序综合和语义将硬件设计映射到复杂的可编程硬件基元。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信