Aninda Manocha

Computer Science PhD Student

Princeton University


I am a fifth-year graduate student in Computer Science at Princeton University advised by Professor Margaret Martonosi. My broad area of research is Computer Architecture and more specifically, I am interested in optimizing data supply and memory management for graph applications. Throughout my PhD, I have been a contributor to the DECADES project, a full-stack system design that aims to improve the performance, power, and programmability of several emerging workflows in the broad areas of machine learning and graph analytics. This platform rapidly adapts to the increasingly flexible and blurred boundary between software and hardware through various reconfigurable hardware features, depending on application characteristics. I have developed hardware-software co-design and memory hierarchy approaches and am currently designing operating system techniques to address the memory latency bottlenecks of irregular workloads in the domains of graph and sparse applications.

Previously, I worked with Professor Benjamin C. Lee at Duke University, where I received my bachelor’s degrees in Electrical and Computer Engineering as well as Computer Science. My research involved investigating distributed systems, characterizing crowd computing and mobile architectures, and enabling efficient hardware accelerator design via statistical learning for high-level synthesis parameter tuning.

I am also a recipient of the NSF Graduate Research Fellowship and I am a 2017 Duke Technology Scholar.


  • Hardware-software co-design
  • Memory hierarchies/systems
  • Domain-specific architectures
  • Graph/sparse applications


  • Ph.D. in Computer Science, 2023

    Princeton University

  • M.A. in Computer Science, 2020

    Princeton University

  • B.S. in Electrical and Computer Engineering, Computer Science, 2018

    Duke University




A DARPA-funded project to create specialized, reconfigurable hardware to accelerate important applications.

Electric Keyboard

An electric keyboard constructed out of an FPGA, a monitor, and 13 sensing circuits and custom-made keys.


Awards and Honors

NSF Graduate Research Fellowship Recipient

Fall 2017 Independent Study First Place Poster



Research Intern


May 2022 – Aug 2022 Austin, Texas [Virtual]
Characterized memory access patterns based on page reuse distances in irregular applications; designed a hardware mechanism to identify data worth backing with huge pages (2MB on x86) without requiring any OS overhead; developed a hardware-OS co-design to leverage the identification of huge page candidates in page size promotion decisions performed by the OS, and ultimately reduce address translation overheads for irregular applications

Research Intern


May 2021 – Aug 2021 Austin, Texas [Virtual]
Characterized GPU memory capacity and bandwidth requirements of emerging workloads; designed and evaluated a DRAM state-aware prefetching approach to improve bandwidth efficiency and improve next-generation GPU performance for data-intensive applications.

Research Intern


May 2020 – Aug 2020 Redmond, Washington [Virtual]
Designed and modeled a hardware mechanism for efficient page management in a system with disaggregated memory; developed an RTL prototype of the mechanism to demonstrate its feasibility and practicality.

Research Assistant

Department of Computer Science at Princeton University

Aug 2018 – Present Princeton, New Jersey

Advisor: Dr. Margaret R. Martonosi

Developing hardware-software co-design approaches to improve the performance, power, and programmability of graph and other sparse applications; optimizing the mapping of a variety of emerging workloads in Machine Learning and Graph Analytics onto modern hardware; contributing to the development of a specialized, reconfigurable hardware platform for accelerating different software applications on the fly.


Teaching Assistant

Department of Computer Science at Duke University

Jan 2018 – May 2018 Durham, North Carolina

Course: Design and Analysis of Algorithms (CS 330)

Held office hours and graded homework assignment for ~175 students taking Design and Analysis of Algorithms (CS 330).


Research Assistant

Department of Electrical and Computer Engineering at Duke University

Aug 2017 – Jun 2018 Durham, North Carolina

Advisor: Dr. Benjamin C. Lee

Designed a framework to perform Bayesian optimization to jointly optimize parameters for high-level synthesis (HLS) and quickly discover Pareto optimal design points; outperformed other optimization algorithms (simulated annealing, genetic algorithm, and random search) in terms of efficiency.


Software Engineering Intern


May 2017 – Aug 2017 San Francisco, California
Designed an intelligent thumbnailing algorithm to identify the most representative frame of marketing videos uploaded for video processing in Scene7 and Adobe Experience Manager; significantly reduced existing server overhead and improved software reliability.

Research Assistant

Department of Electrical and Computer Engineering at Duke University

Jan 2017 – May 2017 Durham, North Carolina

Advisor: Dr. Benjamin C. Lee

Evaluated a crowd computing framework designed for Android and brought it up to date with modern devices; deployed framework on different systems (emulator, phone, and tablet) using an OpenCV facial recognition application.


Teaching Assistant

Department of Electrical and Computer Engineering at Duke University

Jan 2017 – May 2018 Durham, North Carolina

Course: Computer Architecture (ECE/CS 250)

Lead recitations, held office hours, graded homework assignments, and answered Piazza questions for ~250 students taking Computer Architecture (ECE/CS 250).


Game Developer

Neuroplicity at Duke University

Aug 2016 – May 2017 Durham, North Carolina

Supervisors: Dr. Mark Olson and Dr. Nina Sherwood

Created 3D models of viruses and assisted technical development for an alternative reality game in order to improve the connection between society and neuroscience, and communicate key issues and developments in disease-related brain research.


Software Engineering Intern

Cisco Systems

May 2016 – Aug 2016 San Jose, California
Developed a suite of over 75 verification scripts to automate the testing and monitoring of various network events, such as crash/traceback checks, hardware boots/failovers, configuration loss checks, and data collection; created a web application to dynamically display quality metrics progression of routing platforms.

Research Assistant

Department of Mathematics at Duke University

Aug 2014 – Jun 2015 Durham, North Carolina

Advisors: Dr. Lenhard Ng (Duke) and Dr. Daniel J. Teague (NCSSM)

Studied Knot Theory and focused on properties of Legendrian knots to classify other knots and extend an existing knot atlas; developed a Java program to identify isotopic Legendrian knots and enumerate transverse knots.


Software Engineering Intern


Jun 2014 – Jul 2014 Morrisville, North Carolina
Created various benchmarking scripts to be used as part of the System Integration Test (SIT) program that evaluated the quality and performance of various servers before they are released to the enterprise server market; analyzed and compared several aspects of server firmware and hardware.

Research Assistant

Department of Applied Mathematics at the University of North Carolina - Chapel Hill

Mar 2014 – Dec 2014 Chapel Hill, North Carolina

Advisor: Dr. Gregory M. Forest

Extended a computational and mathematical model of virus motion in the human respiratory system to explore gene therapy as a means of treating cystic fibrosis (CF).


Game Developer

Department of Computer Science at the University of North Carolina - Chapel Hill

Mar 2013 – Aug 2013 Chapel Hill, North Carolina

Supervisor: Dr. Gary Bishop

Designed and created a Pacman-style game to enhance the spelling capabilities of children with literacy disabilities.


  • Department of Computer Science
    Princeton University
    35 Olden Street
    Princeton, NJ 08540