Rohan Yadav

About

I am a computer science PhD student at Stanford University, working on compilers and parallel programming systems. I am advised by Alex Aiken and Fredrik Kjolstad. I am also a part-time researcher at NVIDIA working with Michael Garland and Mike Bauer on Legate. Before that, I was a software engineer at Cockroach Labs helping to build CockroachDB. I am fortunate to be supported by an NSF Graduate Research Fellowship, an NVIDIA Graduate Fellowship and a Jane Street Graduate Research Fellowship.

Outside of work, you can find me lifting weights, playing tennis, cooking and (over) eating.

My resume is available here.

(New) I’ve started a blog, which is available here.

Research

I’m broadly interested in programming languages and computer systems. My recent research focuses on the intersection of these fields, in the topic of parallel computing.

I also worked in this area at Carnegie Mellon, where I collaborated with Sam Westrick and was advised by Umut Acar.

Some projects I’ve worked on include:

  • Composable parallel programming
  • Compiling tensor algebra DSLs to supercomputers
  • Automatic mapping of computation and data onto heterogenous architectures
  • Memory management systems for parallel functional languages
  • Parallel algorithms for subgraph isomorphism
  • Parallel functional sequence data structures

Some links to software projects I have taken a part in developing, some more than others:

Publications

  • Legate Sparse: Distributed Sparse Computing in Python, Proceedings of the International Conference on Supercomputing (SC) 2023. Rohan Yadav, Wonchan Lee, Melih Elibol, Manolis Papadakis, Taylor Lee-Patti, Michael Garland, Alex Aiken, Fredrik Kjolstad, Michael Bauer (PDF, 60 Minute Talk Video, SC 2023 slides)

  • Automated Mapping of Task-Based Programs onto Distributed and Heterogeneous Machines, Proceedings of the International Conference on Supercomputing (SC) 2023. Thiago S. F. X. Teixeira, Alexandra Henzinger, Rohan Yadav, Alex Aiken (PDF)

  • SpDISTAL: Compiling Distributed Sparse Tensor Computations, Proceedings of the International Conference on Supercomputing (SC) 2022. Rohan Yadav, Alex Aiken, Fredrik Kjolstad (PDF, SC 2022 slides).

  • DISTAL: The Distributed Tensor Algebra Compiler, ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) 2022. Rohan Yadav, Alex Aiken, Fredrik Kjolstad (PDF, PLDI 2022 Talk Video, PLDI 2022 slides, 60 minute talk slides).

  • Compilation of Sparse Array Programming Models, ACM SIGPLAN Conference on Systems, Programming, Languages, and Applications (SPLASH/OOPLSA) 2021. Rawn Henry, Olivia Hsu, Rohan Yadav, Stephen Chou, Kunle Olukotun, Saman Amarasinghe, Fredrik Kjolstad (PDF, video).

  • Disentanglement in Nested-Parallel Programs, ACM SIGPLAN Symposium on Principles of Programming Languages (POPL) 2020. Sam Westrick, Rohan Yadav, Matthew Fluet, Umut A. Acar (PDF, video).

  • Disentanglement, Theory and Practice. Undergraduate Thesis. Rohan Yadav (PDF).

  • Brief Announcement: A Parallel Algorithm for Subgraph Isomorphism, ACM Symposium on Parallel Algorithms and Architectures (SPAA) 2019. Rohan Yadav, Umut A. Acar (PDF).

Preprints

  • Automatic Tracing in Task-Based Runtime Systems. Rohan Yadav, Michael Bauer, David Broman, Michael Garland, Alex Aiken, Fredrik Kjolstad (PDF)

  • Composing Distributed Computations Through Task and Kernel Fusion. Rohan Yadav, Shiv Sundram, Wonchan Lee, Michael Garland, Michael Bauer, Alex Aiken, Fredrik Kjolstad (PDF)

Other writings

Teaching

At Carnegie Mellon, I served as a teaching assistant for Principles of Functional Programming, and a multiple time head teaching assistant for Parallel and Sequential Algorithms and Data Structures. At Stanford, I’ve been a CA for Programming Languages.

Additionally, I contributed to the starting and development of the Diderot project, a new educational platform developed at Carnegie Mellon that is used by over 500 students and faculty daily. I develop and manage the cloud infrastructure for the project on an ongoing basis.