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

Research output: Contribution to journalArticlepeer-review

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, similar to the Instruction Set Architecture for processors, that can be used for automated development of compilers and instruction-level simulators. Another key contribution of this work is to show how ILA-based accelerator semantics enables extending recent work on equality saturation to auto-generate basic compiler support for prototype accelerators in a technique we term “flexible matching.” By combining flexible matching with simulators auto-generated from ILA specifications, our approach enables end-to-end evaluation with modest engineering effort. We detail several case studies of 3LA, which uncovered an unknown flaw in a recently published accelerator and facilitated its fix.

Original languageEnglish (US)
Article number35
JournalACM Transactions on Design Automation of Electronic Systems
Volume29
Issue number2
DOIs
StatePublished - Feb 15 2024

All Science Journal Classification (ASJC) codes

  • Computer Science Applications
  • Computer Graphics and Computer-Aided Design
  • Electrical and Electronic Engineering

Fingerprint

Dive into the research topics of 'Application-level Validation of Accelerator Designs Using a Formal Software/Hardware Interface'. Together they form a unique fingerprint.

Cite this