Projects

More projects to be updated soon...

Some Key Projects

CacheBoost: Memory Hierarchy Optimizations

Recognized as the BEST PROJECT for exceptional insights, presentation, code and content delivery among 60+ teams as a part of undergrad course CS230: Digital Logic Design & Computer Architecture.

  • Optimized Best Offset Data Prefetcher by removing delay queue, increasing prefetch distance, prefetch degree and the number of candidate offsets tested per memory access using ChampSim microarchitecture simulator.
  • Integrated Hawkeye & Mockingjay non-heuristic cache replacement policies and tested optimizations in their penalty factors, eviction priority of blocks and treatment of prefetch/demand accesses & cache averse lines.
  • Experimented with cache sizes & set-way associativity for inclusive, exclusive & non-inclusive cache hierarchies.

GitHub Presentation YouTube

Medical Image Refinement

  • Denoised images with Markov Random Field prior through Iterative Conditional Mode by using a discontinuity-adaptive Huber potential function.
  • Measured similarity between shapes by aligning equicardinal pointsets through similarity transform using Procrustes distance to determine the optimal rotation in the pre-shape space & modes of shape variation.
  • Reconstructed CT images by Algebraic Reconstruction Technique and performed Radon Transform & filtered back-projection using Central Slice Theorem with Shepp-Logan & Ram-Lak filter on X-Ray phantom images.

GitHub

Hypervisors, Containers & Linux Kernel

CS695: Virtualization & Cloud Computing

  • Implemented a hypervisor with several hypercalls, hypercall handlers & a VM scheduler using Linux KVM API.
  • Developed a container management tool with network configuration features utilizing namespaces & cgroups.
  • Created a virtual device driver & modified the linux signal handler through Linux Kernel Modules & IOCTL.
  • Estimated the working set size of a process by monitoring the idle & accessed page flags via kernel page bitmap to measure the Active Physical Memory footprint.

GitHub Link 1 GitHub Link 2

Rail Planner

CS293: Data Structures & Algorithms

  • Developed a one-stop application for Rail Travel which includes booking a journey, viewing and managing current journeys, maintaining reviews for all journeys.
  • Integrated data structures (in C++) for optimizing app processes, utilizing Linked Lists, Dictionaries for storing journeys, Binary Search Trees for price comparisons, Tries for storing station names, Priority Queues for filtering journeys & reviews according to ratings & Knuth-Morris-Pratt algorithm for querying reviews by keywords & stations.
  • Implemented BFS, DFS, Kruskal's & Dijkstra's graph algorithms for finding journey routes between stations.

GitHub

Relation Networks

We explored the use of Relation Networks in the context of Visual Question Answering. We implemented the Relation Network architecture for relational reasoning proposed by Santoro et al. and evaluated its performance on the CLEVR dataset as well as a variation of the CLEVR dataset called Sort-of-CLEVR.

We try to replicate the results obtained for models corresponding to three different input specifications, namely the input with images and encoded questions, the input with and unencoded questions, and the input with object descriptions and unencoded questions. Thus, demonstrated the model’s flexibility to treat unstructured inputs as a set of objects for relational questions.

GitHub Report Presentation

SuperPixel Graph Cuts

  • Classified image regions into background/ foreground using network flow graph model over superpixel nodes.
  • Utilized CIELab colorspace and Simple Linear Iterative Clustering algorithm (SLIC) for SuperPixel generation.
  • Designed a probabilistic edge weight model to execute Boykov Kolmogorov algorithm for min s-t cut partition.
  • Integrated interactive GUI to take user markings of image regions that serves as a prior for the edge weight model.

GitHub Report

FastChat

  • Connected a network of clients using socket programming by designing a communication software in Python.
  • Utilized PyCrypto for E2E encryption of messages for user security and privacy protection & MySQL database to store SHA256 hashed user passwords.
  • Integrated group chat, undelivered messages for offline clients, load balancing server & image transfer features.
  • Experimented on high throughput of servers & low latency of message deliveries through network traffic analysis.

GitHub

Image Generation & Variation Analysis

Analyzed the principal mode of variation for each digit from the MNIST Database of 28 x 28 images of handwritten digits and performed PCA & LDA to optimally reduce image dimensionality to 84 and reconstruct the image.

Developed a Python program that takes in images of fruits, utilizes Principal Component Analysis and hyperplane fitting to generate random sample representative images of fruits absent in the training set.

GitHub

Stock Market Trend Predictor using Deep Learning

Forecast stock price trends by implementing a CNN-LSTM model using Momentum & Paired Switching financial indicators in Python (TensorFlow) as a part of Seasons of Code 2022 conducted by the Web & Coding Club, IIT Bombay.

GitHub

Oil Price Analysis

Inspected 3 oil companies’ stock prices & WTI oil barrel prices via t-test & regression analysis to estimate trends as a part of our course project for AE102: Data Analysis & Interpretation.
Performed hypothesis testing & confidence interval estimation, computed correlation matrix to better understand the data.

GitHub

Brain Tumor Detection

Implemented brain tumour segmentation & detection model to perform diagnosis & estimate survival rate from multi-modal 3D MRI images using 3D U-Net architecture.

GitHub

Sustainable Tourism

Worked on a Sustainable Tourism project and case study for the final level of Dr. Homi Bhabha Junior Scientist Science Talent Search Competition 2017-18 for which I was awarded the Silver Medal at the State level by Dr. Anil Kakodkar (an Indian nuclear physicist and mechanical engineer. He was the chairman of the Atomic Energy Commission of India, he was the Director of the Bhabha Atomic Research Centre as well).

Report

Software Engineering Intern @ Optiver Amsterdam

Infrastructure Platform Team - Pipeline Framework

  • Designed & developed a Python framework to standardize and automate provisioning of physical infrastructure in their tech stack.
  • Integrated a webserver to manage pipeline requests and fetch their execution metadata & results from the database.
  • Decoupled development & deployment of pipelines by implementing a CLI feature to facilitate debugging of pipelines & a worker module to process queued pipelines & execute them on target devices with specified configs.
  • Incorporated RabbitMQ for task priority scheduling & deployed Prometheus for real-time metric monitoring.


AI Intern @ SaralX

  • Worked on a digital accessibility app which serves as a visual assistant for an inclusive user experience.
  • Developed a real-time document scanning feature utilizing edge & corner detection techniques in Java using OpenCV, enabling visually impaired users to capture the entire document with audio feedback guidance.
  • Implemented a classifier utilizing ResNet18 architecture to determine if an image contains graphs or charts.
  • Employed VGG to classify charts, leveraged Pytesseract & AWS Rekognition for OCR to extract data from charts.


Shape Prior Modeling and Shape Pointset Completion for improving Medical Image Segmentations

As a part of CS490: Research and Development Project I (extended to CS485: Research and Development Project II, CS492: BTech Thesis Project I and CS496: BTech Thesis Project II) under the guidance of Prof. Suyash Awate, CSE Department, IITB along with his PhD student Jimut Bahan Pal.

Enhanced the quality of medical image segmentations from state-of-the-art neural networks by modeling a custom shape prior learnt from a minimal dataset & enabled shape completion of minimally annotated segmentations.
Due to the confidential nature of the work, I can't attach the thesis report here. If you need to discuss about this, please drop a mail at the email address given at the bottom of this page.


Simple Compiler [CS316: Implementation of Programming Languages]

Developed a compiler for a subset of C which supports functions, loops, scope levels, control sequences & employs a Lex scanner/tokenizer, Yacc parser and AST, TAC & RTL generator to produce MIPS assembly code.


GPU Computing and Beyond

A speaker session was conducted as a part of CS230: Digital Logic Design & Computer Architecture course on 29th March 2023 about GPU Computing. The speaker was Mr. Adwait Jog, an Associate Professor at University of Virginia. Here is the link of the blog I wrote about the session.


Building Core Generators for RISC-V

A speaker session was conducted as a part of CS230: Digital Logic Design & Computer Architecture course on 3rd March 2023 on the topic Building Core-Generators for RISC-V and the speaker was Mr. Neel Gala, CTO of InCore Semiconductors. Here is the link of the blog I wrote about the session.


Tower Research Capital Limestone Data Challenge

Secured a top 50 team finish twice in the Tower Research Capital's Annual Limestone Data Challenge (2023 & 2024).