The Next 700 Accelerator Design Languages

Abstract: Specialized, application-specific hardware accelerators are chipping away at the dominance of traditional, general-purpose CPUs. We need to make it possible for domain experts—not just hardware experts—to harness the efficiency of hardware specialization for the computations they care about. The tools we have to design custom accelerators, however, are preventing acceleration from going mainstream. We need a new class of “accelerator design languages” (ADLs) to make implementing an accelerator less like wiring up a breadboard and more like software development.

Our lab at Cornell has developed Dahlia, a general-purpose ADL with a focus on predictable performance. We are also building Calyx, an open-source infrastructure and intermediate language for implementing ADL compilers. Calyx aims to play the same role that LLVM plays today for software languages that compile to traditional ISAs.