The goal of the FLAME lab is to design principled abstractions across the programming systems stack (languages, compilers, architectures) to enable the efficient design and use of specialized hardware.

If you are interested in joining the lab, please review the specific instructions before contacting us.

Directions

Computer Architecture

A staggering number of new hardware accelerators have been developed to combat the end of scaling. However, each accelerator is a unique snowflake with its own design principles, implementation methodology, and software stack. Can we bring order to this heterogeneity by extracting flexible and composable ideas for architectural design?

Programming Languages

Riding on the wave of physical and architectural scaling, programming languages have focused on gluttonous abstraction to enable large-scale design. With the end of scaling, languages need to work in tandem with compilers and architectures to carefully expose low-level control. Can we design new programming languages that enable low-level control without compromising on modular abstraction?

Compilers

The clear abstraction boundary between hardware and software provided by traditional processors is lost in the realm of accelerators. While this boundary has enabled the principled study and design of software compilers, its absence means that accelerator compilation only has point solutions. How can we design scalable and automated compilers for accelerator design and use?

People

Faculty
Ayana Alemayehu
M.Eng.

Publications

Unifying Static and Dynamic Intermediate Languages for Accelerator Generators • OOPSLA ’24
Caleb Kim, Pai Li, Anshuman Mohan, Andrew Butt, Adrian Sampson, Rachit Nigam
Modular Hardware Design with Timeline Types • PLDI ’23
Rachit Nigam, Pedro Henrique Azevedo de Amorim, Adrian Sampson
Stepwise Debugging for Hardware Accelerators • ASPLOS ’23
Griffin Berlstein, Rachit Nigam, Chris Gyurgyik, Adrian Sampson
Distinguished Artifact Award
A Compiler Infrastructure for Accelerator Generators • ASPLOS ’21
Rachit Nigam, Samuel Thomas, Zhijing Li, Adrian Sampson
Vectorization for Digital Signal Processors via Equality Saturation • ASPLOS ’21
Alexa VanHattum, Rachit Nigam, Vincent Lee, James Bornholt, Adrian Sampson
Predictable Accelerator Design with Time-Sensitive Affine Types • PLDI ’20
Rachit Nigam, Sachille Atapattu, Samuel Thomas, Zhijing Li, Ted Bauer, Yuwei Ye, Apurva Koti, Adrian Sampson, Zhiru Zhang

News

May ’25

Elam received the NSF Graduate Research Fellowship! Congratulations Elam!

Jun ’24

Our paper on unifying static and dynamic abstractions in Calyx was conditionally accepted at OOPSLA 2024.

Jun ’24

Rachit accepted a tenure-track position at MIT and will start in the 2025-26 academic year!