Research

Research is formalized curiosity; it’s poking and prying with a purpose – Zora Neale Hurston

Research overview

My research interests in Computer Science ranges in a variety of domains - from Compilers to Reinforcement Learning. Currently I am focused on using supervised machine learning techniques to tackle classic problems in the areas of computer architecture and program analysis. I will summarize my research interests and work in this page.

At Georgia Tech, my advisor is Prof. Santosh Pande, with whom I am working on maintaining memory hierarchies using compiler analysis. I am also working on automatic parallelization & approximate computing with Prof. Vivek Sarkar.

During my masters in Penn State, my advisor was Prof. Mahmut Kandemir, with whom I looked into dependence analysis and automatic parallelization. I simultaneously worked on solving the problem of analysis of partially-sensitive data with Prof. Vasant Honavar.

Compilers

In this compilers domain, I am working on problems dealing with efficiently managing cache hierarchies, automatic parallelization and dependence analysis.

Computer Architecture

I am broadly interested in bridging the gap between hardware and software solutions to various architectural problems like cache partitioning, extending support for non-volatile memories, etc. I am also deeply curious about hybrid main memories consisting of PCM, 3D XPoint .

Reinforcement Learning & Artificial Intelligence

I am interested in how to meet the architectural requirements of Deep Q-learning and how their ability to solve problems which were deemed to be computationally intractable.

Recent Projects

  1. Compiler-guided cache partitioning through predictive runtime analysis

Advisor: Prof. Santosh Pande (GaTech)

Objective: High performance computing systems partition the last-level cache for improved performance. However, cache requirements of an application changes according to different phases in its execution. In this work, we try to precisely estimate the cache requirements and also predict the forthcoming requirements to obtain superior performance.

  1. Incorporating approximation into modern compilers

Advisors: Prof. Mahmut Kandemir (Penn State) & Prof. Vivek Sarkar (GaTech)

Objective: Modern compilers perform dependence analysis to take decisions regarding parallelization and vectorization of codes. In this work, we explore relaxation opportunities on maybe-dependencies, where the compiler is unsure whether dependency exists and conservatively assumes it to be always dependent. These dependence relaxation results in approximation and speedup of the original codes.

Thesis: Approximation of Modern Compilers using Approximate Computing (Masters Thesis, Penn State, 2020)

  1. Framework for Enabling Analysis of Sensitive Data

Advisors: Prof. Vasant Honavar (Penn State)

Objective: Analysis of sensitive data is a fundamental problem in data science. Popular data analysis libraries do not provide any security guarantees while operating on partially sensitive data. In this project, we tackled the problem of allowing users to perform analytical operations on data while simultaneously providing security guarantee on the sensitive portions.

  1. US Supreme Court Opinions Project

Supervisor: Prof. Ben Johnson (Penn State Law)

Objective: Supreme Court justices write opinions for the cases on which they serve. In this project, we aim to investigate the decision making process of justices by determining the likelihood of a certain judge signing a particular opinion.

  1. Evaluation of OpenMP Codes Generated by Polyhedral Compilers

Advisor: Prof. Supratim Biswas (IIT Bombay)

Objective: Parallelizing Compilers and Automatic Parallelization tools transform sequential codes to parallel codes by making use of the parallelism present in the source codes. In this project, we evaluated the quality of parallel OpenMP Codes generated by compilers and tools using Polyhedral Model of Compilation.

  1. Automated Extraction of Relevant Attributes from Unstructured Documents

Advisor: Prof. Supratim Biswas (IIT Bombay)

Objective: Unstructured documents are parsed and processed with the objective of generating structured and ordered texts, which expedites the decision making process. In this project, we have focused on the extraction of relevant attributes which make up the structured text. We have focused on a specific case of extraction - Resume Parsing and implemented a tool showcasing our extraction techniques.

  1. Image Stitching for Generation of Video Outputs

Advisor: Prof. Kolin Paul (IIT Delhi)