Register Allocation Optimization through Coalescing & Live Range Splitting
May 15, 2025 · 11 min read · Compilers Register Allocation Code Generation LLVM Optimization Compiler Algorithms Performance Tuning ·ECE 5544 — Compiler Optimization · Virginia Tech · Spring 2025 Team project with Rutvik Ajit Jere. Technical Focus: Graph Coloring, Register Pressure, Code Generation Problem Statement & Motivation Register allocation is the compiler's final opportunity to improve code quality before machine code generation. Modern …
Read MoreReal-Time Scheduling and Resource Sharing Protocols in FreeRTOS
May 6, 2025 · 3 min read · FreeRTOS Real-Time Systems Rate Monotonic Priority Inversion Scheduling STM32 Embedded Systems ·ECE 5550G — Advanced Real-Time Systems · Virginia Tech · Spring 2025 A four-project sequence building real-time scheduling infrastructure inside FreeRTOS on STM32 hardware, working up from task primitives to resource-sharing protocols that bound priority inversion. Why this matters FreeRTOS gives you preemptive …
Read MoreRISC-V Microarchitectural Design-Space Exploration in Chipyard
Dec 15, 2024 · 3 min read · RISC-V Chipyard BOOM Rocket Chip Memory Hierarchy Branch Prediction Performance Analysis ·ECE 5504 — Computer Architecture · Virginia Tech · Fall 2024 Team project with Alok Mehendale and Benjamin Rice. Benchmarks were divided between us: Alok took rsort and vvadd, Benjamin took towers and median, and I took FFT and SHA-256. Results were combined for the final report. Problem General-purpose processor …
Read MoreConcurrent Data Structures: Memory Reclamation Benchmarking (SEIZE)
Dec 10, 2024 · 10 min read · Concurrent Programming Lock-Free Algorithms Memory Management Rust Benchmarking Performance Analysis Data Structures ·Concurrent Data Structures: Memory Reclamation Benchmarking (SEIZE) ECE/CS 5510 — Multiprocessor Programming · Virginia Tech · Fall 2024 Course: Advanced Systems - Concurrent Programming | Semester: Fall 2025 Technical Focus: Lock-Free Algorithms, Memory Safety, Performance Analysis Problem Statement & Motivation …
Read MoreSTSPIN220 Stepper Driver Library for Arduino
Dec 20, 2020 · 2 min read · Arduino Embedded Systems Motor Control Stepper Motor STSPIN220 Driver Development Open Source ·Open source · C++ / Arduino · github.com/pranav083/Stepper_STSPIN220-library An Arduino library for STMicroelectronics' STSPIN220 low-power stepper driver. It is my most-used piece of open-source work. Why it exists The STSPIN220 can microstep down to 1/256 of a full step — fine enough for 3D printers, camera slides, …
Read MoreGoogle Summer of Code: Bidirectional I/O and PRU Programming on BeagleBone
Aug 20, 2019 · 2 min read · Google Summer of Code BeagleBone PocketBeagle PRU Embedded Linux Open Source Hardware ·Google Summer of Code 2019 · BeagleBoard.org My first sustained open-source contribution, and the work that pulled me toward low-level systems. The problem The PocketBeagle is small, capable, and short on GPIO. Many embedded projects need more digital I/O than the header exposes, and the standard answer — shift …
Read More