Experience
I work alongside Giorgis Georgakoudis and Konstantinos Parasyris on the Apollo autotuning project. I had spent my first summer of 2021 implementing hardware performance counter metrics to Apollo.
We've since moved on to automatic tuning of OpenMP CPU-based codes using Bayesian Optimization (BO). I'm currently working on using BO + Apollo to automatically tune the grid sizes of CUDA-based GPU codes.
I'm working alongside Dr. Kirk Cameron as a research assistant! Some of my current projects include:
- PowerPack: Instrumented hardware power lines to measure and quantify CPU power usage at different load levels. Was able to compare hardware readings to built-in CPU power performance counters.
- Lacey: A robotic sculpture using a distributed network of tablets to play a numeric guessing game to visualize the hashing concepts behind blockchain.
- SeeMore: A kinetic sculpture designed to visualize parallel computation, with a focus on demonstrating what LLM models like ChatGPT compute behind-the-scenes
I worked alongside John Kalamatianos, Varun Agrawal, and Marko Scrbak on optimizing Meta's Deep Learning Recommendation Model (DLRM) code. We focused on the behavior of the Embedding Bag (EBag) sparse parallel table reduction phase for mapping sparse input features to a dense space. As a contribution I was able to implement multiple data-agnostic EBag optimizations to garner minor speedups while suggesting future data-aware optimizations. In proposing these optimizations, I used AMD's internal performance counter monitoring tools to dissect and investigate the EBag code's performance on Meta-provided EBag datasets run on AMD Threadripper CPUs. While investigating the code I was also able to find and rectify a bug within AMD's ZenDNN implementation of EBag.
A publicaiton is expected in 2024.
I worked as the GTA for Dr. Wu Feng's CS4234 Parallel Computing course. My duties included grading weekly student homework submissions, holding weekly office hours (5 hours/week), maintaining lecture attendance/participation counts, and creating homework assignments for students. I had the pleasure of teaching my students parallel programming concepts and workflows through the use of pThreads, OpenMP, and OpenACC.
I worked with Dr. Joshua Booth in creating a proof of concept for a Cholesky factorization-based hybrid solver (direct and iterative) for sparse linear systems of equations.
Aided in teaching the lab section of the introductory Computer Science (CS1) course designed to get students started with the Python programming language. We assigned weekly lab work and I guided the students through the problems while reinforcing lecture material and answering any questions they may have had along the way.
I was a summer intern in the facilities division at LBNL. I created a database and web interface that enabled facilities engineers to maintain a catalog of their energy systems assets such as HVAC, AHU, cooling towers, chillers, boilers, lighting, metering, etc. This project was developed to assist the engineers in keeping up to date with software vulnerabilities by automatically comparing the cataloged assets to the National Vulnerability Database (NVD).
Revised, fixed, and commented student homework submissions written in Java for the Computer Science II (CS2) course.