🔭 Interests: Machine learning, compilers, parallel computing, and embedded systems.
🌱 Recent Projects:
GPU Kernels: Metal Kernels for M1 GPU Mac
- Use Objective-C for host CPU to execute Compute Pipelines, and MSL (Metal Shading Langauge) for kernels
- Ex: 1D Prefix Sum, 1D Dot Product, 2D Matrix Multiply
Compilers: ChocoPy to RISC-V Code Generation + Optimization
- Wrote an end-to-end compiler in Java: lexing, parser, type checking, semantic analysis, RISC-V assembly code generation
- Implemented optimizations: constant folding, loop unrolling, in-lining, common subexpression elimination, and copy propogation
ML: PopDescent
- Build global optimization algorithm using Python’s TensorFlow+PyTorch to reach lower training loss on CNN/LSTM/LLM benchmarks
- Achieved 12% lower test loss in 15% fewer gradient steps against Sklearn, Keras Tuner, and popular learning rate schedules
- First author in “computational algorithm development” paper submission to ICML 2024; [https://arxiv.org/abs/2310.14671]
Firmware: Audio DSP at Johnson&Johnson MedTech
- Configured STM32 mcu to manually perform DSP and translate raw microphone bitstreams into encoded “AES” protocol
- Enabled circular buffering and manage interrupt race conditions for DMA memory transfer using callbacks and FreeRTOS
- Used Arm SIMD vectorization to optimize CPU memory by 15%, and decrease runtime by 8% to allow extra DSP functionality
