Application-Level Validation of Accelerator Designs Using a Formal Software/Hardware Interface
Bo-Yuan Huang, Steven Lyubomirsky, Yi Li, Mike He, Gus Henry Smith,, Thierry Tambe, Akash Gaonkar, Vishal Canumalla, Andrew Cheung, Gu-Yeon Wei,, Aarti Gupta, Zachary Tatlock, Sharad Malik

TL;DR
This paper introduces 3LA, a formal methodology leveraging Instruction-Level Abstraction (ILA) to enable automated, end-to-end testing of accelerator designs on unmodified applications, reducing development costs and effort.
Contribution
The work presents a novel formal software/hardware interface for accelerators using ILA, enabling automated compiler and simulator development for prototype accelerators.
Findings
Uncovered a previously unknown flaw in a published accelerator design.
Demonstrated successful end-to-end testing of accelerators with modest engineering effort.
Extended existing techniques to support auto-generation of compiler support for accelerators.
Abstract
Ideally, accelerator development should be as easy as software development. Several recent design languages/tools are working toward this goal, but actually testing early designs on real applications end-to-end remains prohibitively difficult due to the costs of building specialized compiler and simulator support. We propose a new first-in-class, mostly automated methodology termed "3LA" to enable end-to-end testing of prototype accelerator designs on unmodified source applications. A key contribution of 3LA is the use of a formal software/hardware interface that specifies an accelerator's operations and their semantics. Specifically, we leverage the Instruction-Level Abstraction (ILA) formal specification for accelerators that has been successfully used thus far for accelerator implementation verification. We show how the ILA for accelerators serves as a software/hardware interface,…
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
TopicsSoftware Testing and Debugging Techniques · Formal Methods in Verification · Embedded Systems Design Techniques
