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).

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.

News

  • July 2023 I’ve returned as research intern at NVIDIA.

  • June 2023 Our papers on Legate Sparse and AutoMap were accepted to SC 2023!

  • December 2022 I was awarded an NVIDIA Graduate Fellowship!

  • November 2022 I was invited to give a talk on DISTAL at Google Research!

  • June 2022 I’m starting as a research intern at NVIDIA.

  • June 2022 Our paper on SpDISTAL was accepted to SC 2022!

  • February 2022 Our paper on DISTAL was accepted to PLDI 2022!

  • December 2021 I was invited to give my talk on DISTAL at Cerebras Systems!

  • November 2021 I presented a talk about some recent research at the Oxford Tensor Computations Seminar. (video link, slides)

  • September 2021 Our paper, Compilation of Sparse Array Programming Models was accepted to OOPLSA ‘21.

  • September 2020 I’ve started a PhD at Stanford University!

  • May 2020 Cockroach Labs raised an 86.6$ million Series D!

  • October 2019: Our paper, Disentanglement in Nested-Parallel Programs was accepted to POPL ‘20.

  • July 2019: I joined Cockroach Labs as full time software engineer.

  • June 2019: I presented a talk on our paper “Brief Announcement: A Parallel Algorithm for Subgraph Isomorphism” at SPAA ‘19 (slides).

  • May 2019: I began working as a software engineering intern at Cockroach Labs.

  • May 2019: I completed my undergraduate at Carnegie Mellon University.

  • May 2019: I presented my undergraduate senior thesis, entitled Disentanglement, Theory and Practice at Carnegie Mellon’s Meeting of the Minds Conference.

  • March 2019: Our paper, A Parallel Algorithm for Subgraph Isomorphism was accepted as a Brief Announcement at SPAA ‘19.