Generation of Compiler Backends from Formal Models of Hardware

John R Levine <johnl@taugh.com>
Fri, 30 Aug 2024 22:36:32 -0400

          From comp.compilers

Related articles
Generation of Compiler Backends from Formal Models of Hardware johnl@taugh.com (John R Levine) (2024-08-30)
| List of all articles for this month |
From: John R Levine <johnl@taugh.com>
Newsgroups: comp.compilers
Date: Fri, 30 Aug 2024 22:36:32 -0400
Organization: Compilers Central
Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="95932"; mail-complaints-to="abuse@iecc.com"
Keywords: architecture, paper
Posted-Date: 30 Aug 2024 22:37:28 EDT

This thssis has some examples of how you might do that.


It sounds swell in theory, but it's far from clear how well it actually
works.


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.


Full paper here: https://arxiv.org/abs/2408.15429


Regards,
John Levine, johnl@taugh.com, Taughannock Networks, Trumansburg NY
Please consider the environment before reading this e-mail. https://jl.ly


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.