About
I recently completed my Master's degree in Computer Science at UCLA, where I also earned my Bachelor's degree in Computer Science with a minor in Data Science. My interests lie at the intersection of hardware and software, particularly GPU microarchitecture and how our computing systems can evolve to meet the demands of modern AI and machine learning workloads.
During my time at UCLA, I worked as a Teaching Assistant for CS 132, Compiler Construction, and completed a range of projects spanning GPU microarchitecture, distributed systems, and machine learning.
Education
M.S. Computer Science - UCLA, 2026
GPA: 3.889
B.S. Computer Science, Minor in Data Science - UCLA, 2025
GPA: 3.841
Experience
Teaching Assistant - CS 132: Compiler Construction
University of California, Los Angeles · Spring 2026
Supported instruction for an upper-division compiler construction course. Held office hours, assisted students with course material, and helped with grading.
Research and Projects
TMEM: Implementing Blackwell-Inspired Tensor Memory in the Vortex RISC-V GPGPU
My Master's capstone project, since extended independently. The goal was to implement Tensor Memory and UMMA on the Vortex GPGPU platform and investigate the effects of Tensor Memory on GPU workloads, then extend the design to support multiple concurrent CTAs sharing the hardware.
Extended the Vortex RISC-V GPGPU in SystemVerilog with a custom ISA extension and dedicated tensor memory unit inspired by NVIDIA Blackwell, demonstrating up to 3× cycle reduction for large matrix workloads via RTL simulation. Later added multi-CTA support with a CTA-scoped memory allocator, per-CTA bank storage with arbitration, a hardware RAW-hazard interlock, and a parallel functional/timing model in C++.
Paper →View on GitHub →
AI Technical Interview Study Bot
A full-stack personal study tool for technical interview preparation, featuring AI-generated lessons on any topic with interactive chatbots, quiz and interview practice modes, and academic paper management.
Built with React, Tailwind CSS, Firebase (Firestore + Auth + Storage), and the Claude API, featuring Google authentication, real-time progress tracking via Firestore, AI-generated topic syllabi via structured tool use, AI-extracted paper metadata, and structured prompt engineering throughout.
View on GitHub →Investigating Machine Learning Warp Schedulers in General Purpose GPUs
My final project for CS 259, System Architecture: Learning Machines. The goal of the project was to investigate the effects of various warp scheduling policies on the Vortex GPGPU platform, including a simple Perceptron-based ML warp scheduling policy.
Built a lightweight perceptron-based warp scheduler in C++ within the Vortex SimX simulator and evaluated it against static policies across 12 GPU kernels, demonstrating that learned runtime features like memory pressure and stall history improve scheduling on workloads with dynamic behavior.
Paper →Flash Attention Implemented on the Vortex GPGPU Platform
My final project for CS 259, GPU Microarchitecture. The goal of the project was to implement the FlashAttention algorithm on the Vortex GPGPU platform.
Ported FlashAttention to the open-source Vortex RISC-V GPGPU with both a scalar SIMT and TCU-accelerated implementation in C++, revealing how register constraints and small sequence lengths limit I/O-aware algorithms on academic GPU platforms.
Paper →View on GitHub →
Investigating ROB Scaling in OOO Processors
My final project for CS 251A, Advanced Computer Architecture. The goal of the project was to investigate the performance effects of increasing the ROB size in an OOO CPU and how a simplified Waiting Instruction Buffer could mitigate some of the issues that arise from arbitrarily increasing the ROB size.
Modified the gem5 cycle-accurate simulator in C++ to implement both finite and infinite variants of a Waiting Instruction Buffer, demonstrating across SPEC 2017 benchmarks that ROB scaling alone fails to improve IPC due to issue queue bottlenecks.
Paper →View on GitHub →
Lottery Scheduled Distributed Lock Services for Multi-Tenant Coordination
My final project for CS 214, Big Data Systems. The goal of the project was to implement lottery scheduling in a mock distributed lock service in order to investigate the effects on fairness and performance.
Implemented a real async TCP network backend for a distributed lock service simulator, validating that lottery scheduling achieves up to 0.98 SLO-throughput vs. 0.71 for FIFO under high load, while revealing that proportional access alone is insufficient for fairness in asymmetric workloads.
Paper →View on GitHub →
AgentSociety Challenge: Building an Intelligent Recommendation Agent
My final project for CS 245, Big Data Analytics. The goal of the project was to participate in the AgentSociety Challenge by implementing a Yelp recommendation agent.
Designed and evaluated an LLM-based recommendation agent with task decomposition, prompt engineering, and ensemble voting on the AgentSociety Challenge benchmark, achieving 56.94% average hit rate, a 21% gain over baseline, by extracting semantic signals from Yelp review text.
Paper →View on GitHub →
Super Resolution
My final project for CS 163, Computer Vision. The goal of the project was to investigate the HAT model for image super resolution tasks.
Evaluated the HAT (Hybrid Attention Transformer) super-resolution model on novel real-world images including UCLA campus photos, setting up an end-to-end inference and evaluation pipeline in PyTorch/Colab and finding that ImageNet pretraining causes the model to reconstruct architectural scenes more accurately than human faces.
Paper →HTTP Web Server
My final project for CS 130, Software Engineering. The goal of the project was to build a custom web server with support for Markdown file rendering using clean architectural principles.
Designed and deployed a multithreaded HTTP web server in C++ featuring dynamic request routing, an in-memory CRUD API, and real-time Markdown rendering, with unit and integration tests via GoogleTest and cloud deployment on GCP.
Paper →View on GitHub →
Neon Circuit
My final project for CS C174C, Computer Animation. The goal of the project was to develop a racing game using computer animation principles.
Built the physics simulation for a WebGL racing game in JavaScript, implementing symplectic Euler integration for car and item movement, a spring-damper collision response system, and Hermite spline-based track collision detection.
Paper →App →
View on GitHub →
Air Pinball
My final project for CS 174A, Computer Graphics. The goal of the project was to develop an app using computer graphics principles.
Implemented custom 3D shaders, lighting, and procedural celestial body models for the game objects and environment.
App →View on GitHub →
Racer Fitness
My final project for CS 35L, Software Construction. The goal of the project was to build a web app for fitness tracking.
Was primarily responsible for the backend development of the app, utilizing Firebase for database management and user authentication. Also contributed to frontend development using React, in particular error handling.
App →View on GitHub →