Sreepathi Pai

Associate Professor, Computer Science
Affiliate Faculty in the Goergen Institute for Data Science and Artificial Intelligence
3409 Wegmans Hall
Department of Computer Science,
University of Rochester
sree [at] cs rochester edu
585 276 2391 (Note: I'm not in office, please e-mail instead)
Nullius in verba

Research

I am an experimental computer systems researcher interested in the performance of computer programs. To that end, I work in compilers, computer architecture, and the implementation of programming languages for parallel computing. My research aims to make it easier to write high-performance programs on increasingly complex machines.

If you're a student wanting to work with me, please read this note for prospective students.

I joined Rochester in 2017. Before Rochester, I was a Postdoctoral Research Fellow at The University of Texas at Austin. I obtained my PhD at the Indian Institute of Science.

Current Projects

  1. ROCetta: Formal Semantics for all your GPUs
  2. GPU Performance Portability: Peak Performance on every GPU!
  3. Graph Computing and Analytics: Speedy Graphs on General-purpose Processors

Additionally, I'm a member of the TriForce Center for Multiphysics Modeling where I contribute (primarily) GPU expertise to the codes being developed for use at the Laboratory for Laser Energetics.

Recent Activities

Upward Bound Turtle Workshop (Summer 2024)

Students

PhD

  1. Benjamin Valpey (since Summer 2019)
  2. Rongcui Dong (since Fall 2020)
  3. Jingyu Qiu (since Fall 2023)

Masters

  1. Ruohuang Zheng (graduated 2020)
  2. Amr Elhelw (graduated 2021)
  3. Louis Jenkins (graduated 2022)

Undergraduates

  1. Natalie Kocsis (NSF REU, Sum2023, Spring 2024), Translation Correctness in the Yuzu Compiler [GitHub]
  2. Jesus Diaz (MMM REU, Sum2023), Evaluating Structure from Motion (SfM) in 3D Printing Quality Control [Report]
  3. Sophia Cao (MMM REU, Sum2023), Analyzing Videos of 3D Printing from a Depth Camera [Report]
  4. Paul Ouellette (F2021, S2022), Modern Compiler Implementation in ML, followed by Translation Validation for the QBE Compiler Backend (Senior Honors Thesis) [Github]
  5. Alexander Bowman (F2021, S2022), GPU Performance Analysis, followed by Atomic Performance Modeling on NVIDIA GPUs (Senior Honors Thesis) [GitHub]
  6. Pavlo Pastaryev (F2021), Polyhedral Scheduling on Deterministic Processors
  7. Shoham Shitrit (exploreCSR S2021, F2021), Automated Test Suite Generation [GitHub]
  8. Duong Phan (exploreCSR S2021), Using Stratified Sampling to Generate Better Tests
  9. Benjamin Carleton (Sum2020), Executable Models of PTX Elementary Math Functions [GitHub]
  10. Matthew Murante (Sum2020), eBPF Graal Implementation [GitHub]
  11. Tianyi Liu (S2020), Virtual Machine Study (Formal Semantics for eBPF in SAIL)
  12. Liam Heeger (F2019, S2020: with Prof. Ted Pawlicki), Quantum optimization of Quantum Programs, Senior Honors Thesis [GitHub] [Thesis]
  13. Matthew Boddewyn (F2019, S2020), Polyhedral Compilation (A Yorick to C compiler)
  14. Avi Saven (F2019, S2020), Program Behaviour Graphs (poster presented at UR Undergraduate Research, April 2020), [GitHub]
  15. Shanthanu S Rai (Sum2019, F2019), A Hybrid Graph Coloring Algorithm for GPUs [arXiv]
  16. Rohit M P (Sum2019, F2019), A Hybrid Graph Coloring Algorithm for GPUs [arXiv]
  17. Youssef Hussein (S2019, Xerox Fellow 2019), Software Performance Debugging
  18. Lusine Keshishyan (S2019), Parallelisation of Graph Algorithms
  19. Aaron McClure (F2019), Web UI For a Statistics Platform
  20. Erik Azzarano (MMM REU, Sum2018), A Framework for Developing Music-Generated Games
  21. Adriena Cribb (MMM REU, Sum2018), Applying Recurrent Variational Autoencoders to Musical Style Transfer
  22. Princeton Ferro (F2017, F2018), GPU accelerated BLAS [GitHub]
  23. Hunter Johnston (F2017, S2018), Compiling Graph Computations

Recent Publications

For a complete list, please check my publication archive.

  1. Shoham Shitrit and Sreepathi Pai, Registered Report: Generating Test Suites for GPU Instruction Sets through Mutation and Equivalence Checking, FUZZING 2022 (in conjunction with NDSS 2022), April 2022 [Camera Ready]

  2. Ruohuang Zheng and Sreepathi Pai, Efficient Execution of Graph Algorithms on CPU with SIMD Extensions, CGO 2021, March 2021 [Preprint]

  3. Amr S. Elhelw and Sreepathi Pai, Horus: A Modular GPU Emulator Framework (Poster), ISPASS 2020, August 2020

  4. Tal Ben-Nun, Michael Sutton, Sreepathi Pai, and Keshav Pingali, Groute: Asynchronous Multi-GPU Programming Model with Applications to Large-Scale Graph Processing, ACM Trans. Par. Comp, 7(3), 1–27 (June 2020) [acm DL]

  5. Hongyuan Liu, Sreepathi Pai, and Adwait Jog, Why GPUs are Slow at Executing NFAs and How to Make them Faster, ASPLOS 2020, Lausanne, Switzerland, March 2020.

  6. Shanthanu Rai, Rohit M P, and Sreepathi Pai, A Hybrid Graph Coloring Algorithm for GPUs, HiPC Student Research Symposium 2019, Hyderabad, India [arXiv]

  7. Tyler Sorensen, Sreepathi Pai, and Alastair Donaldson, One Size Doesn't Fit All: Quantifying Performance Portability of Graph Applications on GPUs, IISWC 2019, Orlando, FL, USA (Best Paper)

  8. Dong Chen, Fangzhou Liu, Mingyang Jiao, Chen Ding, and Sreepathi Pai, Statistical Caching for Near Memory Management, MEMSYS 2019, Washington, DC, USA

  9. Tyler Sorensen, Sreepathi Pai, Alastair Donaldson, Performance Evaluation of OpenCL Standard Support (and Beyond!), IWOCL 2019, Boston, MA, USA, May 2019 (Best Paper)

  10. Hongyuan Liu, Mohamed Ibrahim, Onur Kayiran, Sreepathi Pai, Adwait Jog, Architectural Support for Efficient Large-Scale Automata Processing, MICRO 2018, Fukuoka, Japan, Oct 2018 [Lightning Talk Video]

  11. Dong Chen, Fangzhou Liu, Chen Ding, Sreepathi Pai, Locality Analysis through Static Parallel Sampling, PLDI 2018, Philadelphia, PA, USA, June 2018 [acm dl version via SIGPLAN OpenTOC]

  12. Ahmet Celik, Sreepathi Pai, Sarfraz Khurshid, Milos Gligoric, Bounded Exhaustive Test-Input Generation on GPUs, OOPSLA 2017, Vancouver, CA, October 2017 [acm dl open access]

  13. Chad Voegele, Yi-Shan Lu, Sreepathi Pai, Keshav Pingali, Parallel Triangle Counting and k-Truss Identification using Graph-centric Methods , IEEE/Amazon/DARPA GraphChallenge 2017@IEEE HPEC, Waltham, MA, September 2017 (GraphChallenge Champion) [pdf]

  14. Sreepathi Pai, M. Amber Hassaan, Keshav Pingali, An Operational Performance Model of Breadth-First Search, AGP@ISCA 2017, Toronto, Canada, June 2017 [pdf]

  15. Tal Ben-Nun, Michael Sutton, Sreepathi Pai, Keshav Pingali, Groute: An Asynchronous Multi-GPU Programming Model for Irregular Computations, PPoPP 2017, Austin, TX, USA, February 2017 (Best Paper Nominee) [pdf] [source]

  16. Xulong Tang, Ashutosh Pattnaik, Huaipan Jiang, Onur Kayiran, Adwait Jog, Sreepathi Pai, Mohamed Ibrahim, Mahmut T. Kandemir, Chita Das, Controlled Kernel Launch for Dynamic Parallelism in GPUs, HPCA 2017, Austin, TX, USA, February 2017

  17. Sreepathi Pai, Keshav Pingali, A Compiler for Throughput Optimization of Graph Algorithms on GPUs, OOPSLA '16, Amsterdam, Netherlands, November 2016 [preprint]

  18. Sreepathi Pai, Keshav Pingali, Modeling Performance of Graph Programs on GPUs in a Compiler, ModSim 2016, Seattle, WA, USA, August 2016 [abstract pdf] [slides]

  19. Rashid Kaleem, Anand Venkat, Sreepathi Pai, Mary Hall, Keshav Pingali, Synchronization Trade-offs in GPU implementations of Graph Algorithms, IPDPS '16, Chicago, IL, USA, May 25, 2016 [pdf]

Teaching/Courses

Recent Professional Service

  1. Tutorials/Workshop Chair: IISWC 2020
  2. Program Committee: CC 2023, IPDPS 2023 [Chairs PC], PLDI 2022, CGO 2020, HiPC SRS 2019, ICS 2019, IPDPS 2019 (Experiments)
  3. External Review Committee: PPoPP 2023, PPoPP 2020, PLDI 2019
  4. Journals: ACM TOPLAS, IEEE TPDS, ACM TOPC

Other Technical Stuff

Microbenchmarking Unified Memory in CUDA 6.0, looks at CUDA Unified Memory performance on the Kepler K20Xm.

"How the Fermi Thread Block Scheduler Works (Illustrated)", if you've ever wondered.