activity
20182024
most citedA Compiler Infrastructure for Accelerator Generators

54 citations · 77 across the 7 of their papers we have counts for

collaborators

7 papers

cs.PL2024★ 3 cited

WatChat: Explaining perplexing programs by debugging mental models

Kartik Chandra, Katherine M. Collins, Will Crichton +6

Often, a good explanation for a program's unexpected behavior is a bug in the programmer's code. But sometimes, an even better explanation is a bug in the programmer's mental model…

cs.PL2024★ 2 cited

Parameterized Hardware Design with Latency-Abstract Interfaces

Rachit Nigam, Ethan Gabizon, Edmund Lam +3

Hardware designs must use latency-insensitive (LI) interfaces when timing is input-dependent. When timing is input-independent, designs should use latency-sensitive (LS) interfaces…

cs.PL2023

Unifying Static and Dynamic Intermediate Languages for Accelerator Generators

Caleb Kim, Pai Li, Anshuman Mohan +3

Compilers for accelerator design languages (ADLs) translate high-level languages into application-specific hardware. ADL compilers rely on a hardware control interface to compose h…

cs.AR2023★ 16 cited

Modular Hardware Design with Timeline Types

Rachit Nigam, Pedro Henrique Azevedo De Amorim, Adrian Sampson

Modular design is a key challenge for enabling large-scale reuse of hardware modules. Unlike software, however, hardware designs correspond to physical circuits and inherit constra…

cs.PL2021★ 54 cited

A Compiler Infrastructure for Accelerator Generators

Rachit Nigam, Samuel Thomas, Zhijing Li +1

We present Calyx, a new intermediate language (IL) for compiling high-level programs into hardware designs. Calyx combines a hardware-like structural language with a software-like…

cs.PL2020★ 2 cited

Predictable Accelerator Design with Time-Sensitive Affine Types

Rachit Nigam, Sachille Atapattu, Samuel Thomas +6

Field-programmable gate arrays (FPGAs) provide an opportunity to co-design applications with hardware accelerators, yet they remain difficult to program. High-level synthesis (HLS)…

cs.PL2018

Putting in All the Stops: Execution Control for JavaScript

Samuel Baxter, Rachit Nigam, Joe Gibbs Politz +2

Scores of compilers produce JavaScript, enabling programmers to use many languages on the Web, reuse existing code, and even use Web IDEs. Unfortunately, most compilers inherit the…