Agile Design of Domain-Specific Hardware Accelerators and Compilers

MTL Seminar Series
Priyanka Raina, Stanford University

Abstract

With the slowing of Moore's law, computer architects have turned to domain-specific hardware accelerators to improve the performance and efficiency of computing systems. However, programming these systems entails significant modifications to the software stack to properly leverage the specialized hardware. Moreover, the accelerators become obsolete quickly as the applications evolve. What is needed is a structured approach for generating programmable accelerators and for updating the software compiler as the accelerator architecture evolves with the applications. In this talk, I will describe a new agile methodology called AHA for co-designing programmable hardware accelerators and compilers. Our methodology employs a combination of new programming languages and formal methods to automatically generate the accelerator hardware and its compiler from a single specification. This enables faster evolution and optimization of accelerators, because of the availability of a working compiler. I will showcase this methodology using three generations of coarse-grained programmable accelerator chips that we designed using this flow: (1) Amber, that targets dense image processing and machine learning, (2) Onyx, that optimizes dense performance over Amber and additionally supports sparse tensor algebra and finally (3) Opal, that further optimizes for sparse machine learning applications.