Generation of Compiler Backends from Formal Models of Hardware
Gus Henry Smith

TL;DR
This paper proposes automatically generating compiler backends from formal hardware models, enhancing optimization, correctness, and development efficiency, demonstrated through case studies on machine learning accelerators and FPGA mapping.
Contribution
It introduces a novel approach of deriving compiler backends from formal hardware models using automated reasoning, which improves performance and correctness.
Findings
Increased optimization capabilities for hardware accelerators.
Stronger correctness guarantees for generated compiler backends.
Reduced development time for hardware-specific compiler components.
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsEmbedded Systems Design Techniques · Formal Methods in Verification · Parallel Computing and Optimization Techniques
