Skip to content
View abhip02's full-sized avatar

Block or report abhip02

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
abhip02/README.md

🔭 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

Pinned Loading

  1. PopDescent PopDescent Public

    Global optimization algorithm that combines genetic mutations with local optimization.

    Python

  2. quantization_practice quantization_practice Public

    Learning about quantization.

    Jupyter Notebook

  3. PerformingCalculationsOnAGPU PerformingCalculationsOnAGPU Public

    Write Metal Shaders in MSL to perform parallel calculations on M1 Metal GPU.

    Objective-C

  4. CUDA_Puzzlers CUDA_Puzzlers Public

    Write CUDA kernels (in Numba) for common NN operations (prefix sum, matmul, convolution).

    Jupyter Notebook