I'm a recent (March 2025) graduate of the Master's Program in Computer Science at the University of Chicago. My specialization is High-Performance Computing.
As of May 2025, I am a Graduate Intern at the National Renewable Energy Laboratory (NREL). There, I contribute to the development of System Advisor Model (SAM), an application developed for techno-economic analysis of renewable energy projects. SAM models the physical processes underlying renewable energy generation in order to determine how much energy will be produced at what time. It incorporates financial parameters to estimate the return generated by this energy production.
Before working at NREL, I was a Graduate Computing Scholar at Lawrence Livermore National Laboratory (LLNL). While at LLNL, I optimized the performance of a unstructured Lagrangian hydrodynamics code that targeted both CPU and GPU backends. I attained a five-fold improvement in the performance of this program on GPU, relative to its original GPU performance. I also developed a regression-based model to enable performance prediction of physics codes on unseen hardware by measuring the performance of a suite of benchmark kernels on this hardware.
My experience includes:
- Optimizing physics codes for deployment on supercomputers
- Writing parallel implementations in C/C++ of scientific computing algorithms for use on shared/distributed memory systems with OpenMP/MPI
- Optimizing performance of serial algorithms/serial components of parallel algorithms using SIMD
- Programming for GPUs with CUDA
- Using high-performance libraries (e.g. NVidia CuBLAS, Intel MKL) to accelerate existing programs
- Implementing parallel sorting algorithms in Go
- Writing a compiler in Go for a subset of the Go programming language using ANTLR and LLVM
- Developing a Python FaaS platform using FastAPI, ZMQ, and Redis
- Administering a personal Linux server using Docker and QEMU/KVM
- Working with embedded Linux devices for personal projects
I enjoy writing code with a focus on performance and correctness, and reasoning about how to implement serial and parallel algorithms in a way that is appropriate for the architecture on which they will run.
Since September 2023, I have served as a Teaching Assistant for MPCS 55001 "Algorithms" and MPCS 55005 "Advanced Algorithms". I develop content for and lead office hour sessions, answer student questions, and write homework and exam problems. I also supervise the grading of assignments.
I have previously worked as a Research Specialist at the University of Chicago Law School, where I assisted with quantitative research on policing and private security. I primarily wrote code in R to clean data and conduct statistical analyses. I am a coauthor on "Private Security and Public Police", which was recently published in the Journal of Empirical Legal Studies.