Programming Languages × Systems

Languages and compilers across data representations and machines.

We build programming languages and compilers that make sophisticated software fast and portable across changing data representations and hardware.

Fig. 01 — Sparse Tensor Algebra

From abstractions to machines

The same computation, lowered layer by layer

A program starts as a high-level description. At each layer, the compiler fixes one more decision — the representation, then the schedule, then the target — until it becomes code for a specific machine. Because these choices are made separately, changing the data format or the hardware does not mean rewriting the program.

This separation is what makes a single library or language polymorphic over data structures and portable across machines.

  1. 01

    Languages

    What you write

    High-level languages and libraries over tensors, relations, graphs, and objects in space.

  2. 02

    Compiler abstractions

    What the compiler reasons about

    Iteration models and intermediate representations that capture the computation on its own, apart from any data structure or machine.

  3. 03

    Representations & formats

    How the data is stored

    Dense and sparse data structures, layouts, and formats — chosen without changing what is computed.

  4. 04

    Schedules & execution

    How the work is organized

    Loop orders, tiling, fusion, and distribution — the strategy for running the computation well.

  5. 05

    Machine targets

    Where it runs

    CPUs, GPUs, accelerators, and distributed clusters, reached from the same source.

Software

Systems we build

Our research ships as compilers, languages, and libraries — a connected body of work rather than isolated tools.

All software

Publications

Selected & recent work

A few papers that show the range of the group. Every paper, with search and filters, is on the publications page.

All publications

Deegen: A JIT-Capable VM Generator for Dynamic Languages

Haoran Xu Fredrik Kjolstad

OOPSLA · PACMPL vol. 10, OOPSLA Oct 2026 To appear

Meta-compilation

PDF DOI
BibTeX
@inproceedings{xu2026deegen,
  title     = {Deegen: A JIT-Capable VM Generator for Dynamic Languages},
  author    = {Haoran Xu and Fredrik Kjolstad},
  booktitle = {ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications},
  year      = {2026},
  month     = {oct},
  doi       = {10.1145/3798246},
  url       = {https://fredrikbk.com/publications/deegen.pdf}
}
Cite

Haoran Xu and Fredrik Kjolstad. Deegen: A JIT-Capable VM Generator for Dynamic Languages. OOPSLA, 2026 (to appear).

Bonsai: Compiling Queries to Pruned Tree Traversals

Alexander J Root Christophe Gyurgyik Purvi GoelKayvon Fatahalian Jonathan Ragan-Kelley Andrew Adams Fredrik Kjolstad

PLDI · PACMPL vol. 10, PLDI Jun 2026 Distinguished Paper Award

Relational IR & iteration

PDF
BibTeX
@inproceedings{root2026bonsai,
  title     = {Bonsai: Compiling Queries to Pruned Tree Traversals},
  author    = {Alexander J Root and Christophe Gyurgyik and Purvi Goel and Kayvon Fatahalian and Jonathan Ragan-Kelley and Andrew Adams and Fredrik Kjolstad},
  booktitle = {ACM SIGPLAN Conference on Programming Language Design and Implementation},
  year      = {2026},
  month     = {jun},
  url       = {https://fredrikbk.com/publications/bonsai.pdf}
}
Cite

Alexander J Root, Christophe Gyurgyik, Purvi Goel, Kayvon Fatahalian, Jonathan Ragan-Kelley, Andrew Adams, and Fredrik Kjolstad. Bonsai: Compiling Queries to Pruned Tree Traversals. PLDI, 2026.

The Dataflow Abstract Machine Simulator Framework

Nathan Zhang Rubens Lacouture Gina SohnPaul MureQizheng Zhang Fredrik Kjolstad Kunle Olukotun

ISCA Jun 2024 ISCA Distinguished Artifact Award

Accelerators IR & iteration

PDF DOI
BibTeX
@inproceedings{zhang2024dataflow,
  title     = {The Dataflow Abstract Machine Simulator Framework},
  author    = {Nathan Zhang and Rubens Lacouture and Gina Sohn and Paul Mure and Qizheng Zhang and Fredrik Kjolstad and Kunle Olukotun},
  booktitle = {International Symposium on Computer Architecture},
  year      = {2024},
  month     = {jun},
  doi       = {10.1109/ISCA59077.2024.00046},
  url       = {https://fredrikbk.com/publications/dam.pdf}
}
Cite

Nathan Zhang, Rubens Lacouture, Gina Sohn, Paul Mure, Qizheng Zhang, Fredrik Kjolstad, and Kunle Olukotun. The Dataflow Abstract Machine Simulator Framework. ISCA, 2024.

Legate Sparse: Distributed Sparse Computing in Python

Rohan Yadav Wonchan LeeMelih ElibolManolis PapadakisTaylor Lee-PattiMichael Garland Alex Aiken Fredrik Kjolstad Michael Bauer

SC Nov 2023

Distributed Sparse tensor algebra

PDF DOI
BibTeX
@inproceedings{yadav2023legate,
  title     = {Legate Sparse: Distributed Sparse Computing in Python},
  author    = {Rohan Yadav and Wonchan Lee and Melih Elibol and Manolis Papadakis and Taylor Lee-Patti and Michael Garland and Alex Aiken and Fredrik Kjolstad and Michael Bauer},
  booktitle = {International Conference for High Performance Computing, Networking, Storage and Analysis},
  year      = {2023},
  month     = {nov},
  doi       = {10.1145/3581784.3607033},
  url       = {https://fredrikbk.com/publications/legate-sparse.pdf}
}
Cite

Rohan Yadav, Wonchan Lee, Melih Elibol, Manolis Papadakis, Taylor Lee-Patti, Michael Garland, Alex Aiken, Fredrik Kjolstad, and Michael Bauer. Legate Sparse: Distributed Sparse Computing in Python. SC, 2023.

Mosaic: An Interoperable Compiler for Tensor Algebra

Manya Bansal Olivia Hsu Kunle Olukotun Fredrik Kjolstad

PLDI · PACMPL vol. 7, PLDI Jun 2023 Distinguished Paper Award

Sparse tensor algebra IR & iteration

PDF DOI
BibTeX
@inproceedings{bansal2023mosaic,
  title     = {Mosaic: An Interoperable Compiler for Tensor Algebra},
  author    = {Manya Bansal and Olivia Hsu and Kunle Olukotun and Fredrik Kjolstad},
  booktitle = {ACM SIGPLAN Conference on Programming Language Design and Implementation},
  year      = {2023},
  month     = {jun},
  doi       = {10.1145/3591236},
  url       = {https://fredrikbk.com/publications/mosaic.pdf}
}
Cite

Manya Bansal, Olivia Hsu, Kunle Olukotun, and Fredrik Kjolstad. Mosaic: An Interoperable Compiler for Tensor Algebra. PLDI, 2023.

Interested in this kind of work?

We welcome prospective PhD students, current Stanford students, and collaborators who are curious about languages, compilers, and the systems that run underneath.