I am a post-doctoral researcher in the Intelligent Software Systems Lab at the University of Texas at Austin and an engineer in KatanaGraph, the startup based in part on my PhD research. I received my PhD from the University of Texas at Austin, where I was advised by Dr. Keshav Pingali. I received my masters from the Indian Institute of Science, where I was advised by Dr. Uday Bondhugula. During the summer of 2018 and 2019, I was a research intern in Microsoft Research, where I collaborated with several researchers including Dr. Olli Saarikivi, Dr. Kim Laine, and Dr. Madan Musuvathi.

Research Interests

My goal is to build domain-specific programming languages, compilers, and runtime systems that make it easy to develop efficient sparse computation and privacy-preserving computation on large-scale distributed clusters, while utilizing heterogeneous architectures. Towards this goal, I have built programming systems for distributed and heterogeneous graph analytics and privacy-preserving neural network inferencing. My vision is to enable developers to express their application in a domain-specific language and run it efficiently on a variety of architectures under different scenarios like sparsity or privacy of the datasets.

Distributed and Heterogeneous Graph Analytics: Unstructured datasets are used by applications in areas such as machine learning, data mining, bioinformatics, network science, and security. These datasets may be represented as graphs and these graphs may have billions of nodes and trillions of edges. One way to process such large datasets is to use distributed clusters. For graph analytical applications, I have designed and built programming systems that exploit domain knowledge to partition graphs and optimize communication, while providing application-specific fault-tolerance. Existing shared-memory graph analytics frameworks or applications can use our system to scale out to distributed CPUs and GPUs. [PLDI 2018, ASPLOS 2019, VLDB 2020, VLDB 2020, VLDB 2018, PPoPP 2019, PACT 2019, IPDPS 2020, IPDPS 2019, IPDPS 2018, Euro-Par 2018, HPEC GraphChallenge 2019, BigData 2017]

Privacy-Preserving Neural Network Inferencing: In many applications, privacy of the datasets used must be preserved. Fully-Homomorphic Encryption (FHE) enables computation on encrypted data without requiring the secret key. However, cryptographic domain expertise is required to use FHE. In my view, FHE libraries are akin to specialized parallel architectures. I have developed an optimizing compiler for translating tensor programs like neural network inferencing to run on encrypted data using FHE libraries efficiently, while guaranteeing security and accuracy of the computation. [PLDI 2020, PLDI 2019]

Affine Loop Nests: Any sequence of arbitrarily nested loops with affine bounds and accesses are known as regular or affine loop nests. Examples include stencil-style computations, linear algebra kernels, and alternating direction implicit integrations. During my masters, I developed compiler techniques using the polyhedral model to automatically extract tasks from sequential affine loop nests and dynamically schedule them to run on distributed CPUs and GPUs with efficient data movement code. I also helped generate distributed-memory code for loop nests that contain both affine and irregular accesses. [PACT 2013, PPoPP 2015, TOPC 2016]