Sreepathi Pai

Assistant Professor, Computer Science
Affiliate Faculty in the Goergen Institute for Data Science
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.

Students

PhD

  1. Benjamin Valpey (since Summer 2019)
  2. Rongcui Dong (since Fall 2020)
  3. Andrew Sexton (from Fall 2021, joint with Adam Sefkow)
  4. Louis Jenkins (from Fall 2021, joint with Michael Scott)

Masters

  1. Ruohuang Zheng (graduated Spring 2021)
  2. Amr Elhelw (graduated Fall 2021)

Undergraduates

  1. Duong Phan (exploreCSR S2021), Using Stratified Sampling to Generate Better Tests
  2. Shoham Shitrit (exploreCSR S2021), Automated Test Suite Generation
  3. Benjamin Carleton (Sum2020), Executable Models of PTX Elementary Math Functions [GitHub]
  4. Matthew Murante (Sum2020), eBPF Graal Implementation [GitHub]
  5. Tianyi Liu (S2020), Virtual Machine Study (Formal Semantics for eBPF in SAIL)
  6. Liam Heeger (F2019, S2020: with Prof. Ted Pawlicki), Quantum optimization of Quantum Programs, Senior Honors Thesis [GitHub]
  7. Matthew Boddewyn (F2019, S2020), Polyhedral Compilation (A Yorick to C compiler)
  8. Avi Saven (F2019, S2020), Program Behaviour Graphs (poster presented at UR Undergraduate Research, April 2020), [GitHub]
  9. Shanthanu S Rai (Sum2019, F2019), A Hybrid Graph Coloring Algorithm for GPUs [arXiv]
  10. Rohit M P (Sum2019, F2019), A Hybrid Graph Coloring Algorithm for GPUs [arXiv]
  11. Youssef Hussein (S2019, Xerox Fellow 2019), Software Performance Debugging
  12. Lusine Keshishyan (S2019), Parallelisation of Graph Algorithms
  13. Aaron McClure (F2019), Web UI For a Statistics Platform
  14. Erik Azzarano (MMM REU, Sum2018), A Framework for Developing Music-Generated Games
  15. Adriena Cribb (MMM REU, Sum2018), Applying Recurrent Variational Autoencoders to Musical Style Transfer
  16. Princeton Ferro (F2017, F2018), GPU accelerated BLAS [GitHub]
  17. Hunter Johnston (F2017, S2018), Compiling Graph Computations

Recent Publications

For a complete list, please check my publication archive.

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

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

  3. 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]

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

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

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

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

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

  9. 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]

  10. 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]

  11. 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]

  12. 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]

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

  14. 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]

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

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

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

  18. 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: CGO 2020, HiPC SRS 2019, ICS 2019, IPDPS 2019 (Experiments)
  3. External Review Committee: 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.