Projects
Applied Machine Learning
ML and Society: Teaching Tools
I learned how to implement socially equitable ML and better understand the propagative effect of ML on society as a part of the course CSE 540: ML and Society. I worked on enhancing the course instructional materials as well.
Distracting Message Identification For Instant Messaging Platforms
Worked under Dr. Saad Yunus Sait on this undergraduate research project. Built a preprocessing pipeline to consolidate and process messages from groups. Reconstructed models adapted from existing research to perform context-based filtering of distracting messages. The findings of this work are being revised for a journal submission.
Parallel and Disrtibuted Programming
SCoOL - Scalable Common Optimization Library
Worked under Prof. Jaric Zola for what would later be my Masters capstone project. Designed and implementing a general purpose runtime executor for search space exploration and optimisation problems (NP-hard) by adapting the bulk synchronous parallel (BSP) model of programming. The executor was built using the parallel runtime framework - HPX. The PR for this feature can be viewed here.
Distributed Key Value Store
Developed a fault-tolerant distributed key value store by implementing the RAFT consensus protocol. The data was made accessible via REST endpoints and the frontend was designed using HTML and CSS.
Gaussian KDE: GPU Implementation
Parallel implementation of gaussian kernel density estimation computation for a set of floating point numbers using NVIDIA CUDA.
Rooting Graph Nodes: Using Spark
Finds the roots of each node in a graph of connected components using Apache Spark. Distributed implementation tested on UB’s HPC.
Distributed Sorting: Using Open MPI
Implements count sort on a range of short integers distributed across a set of processors in a cluster using Open MPI. Implemented on UB’s HPC.
Blockchain
Buffalo Farmers Marketplace
A decentralized marketplace to facilitate transparent interactions to buy produce from your local farmers market. The frontend was built using HTML, JavaScript and CSS.
Bots and Automation
TARS : TA Assistance Bot
Integrated the slack API and Google calendar API to get TA office hours posted in the workplace via TARS. Implemented periodic scheduling using cron jobs and shell scripting.