Skip to content

//Projects

Code, benchmarks and hardware.

A benchmarking platform, the reproducible artifact behind every paper, contributions upstream, and the hardware it all started on.

Repositories
12
Archived DOIs
10
Merged upstream
3
Open upstream
11

Platform

ML Systems Lab

One config file, one command, every machine on the bench.

A reproducible benchmarking framework for ML inference across heterogeneous hardware. One YAML config drives llama.cpp and ONNX Runtime sweeps on laptops, Raspberry Pi over SSH, and GPUs; every run produces a self-describing record carrying the hardware, backend versions, measured metrics, and the physical state of the machine while they were measured: power, temperature, clocks, throttle flags, utilization. The analysis layer turns a directory of records into publication-quality tables and figures.

Architecture

  1. 01 config.yaml machines, models, and the sweep matrix, declared once
  2. 02 RunSpecs deterministic run ids; interrupted campaigns resume by skipping what is on disk
  3. 03 Device local subprocess or agent pushed over SSH; a new machine is a config block, not code
  4. 04 Agent pure standard library, runs on the device under test; nothing crosses the network inside a measurement window
  5. 05 RunRecord raw output parsed on the host, so a parser bug is a re-parse, not a re-run; failures are records too
  6. 06 Analysis text, Markdown and LaTeX tables; roofline and scaling figures

Supported hardware

  • Raspberry Pi 5, Cortex-A76: SSH agent, PMIC per-rail power, throttle bits, DVFS control
  • i7-12700H laptop, Windows: local agent, 20-thread sweeps, models up to 7B
  • RTX 3050 via ONNX Runtime DirectML: modeled as its own device

Representative result

Reproduces the IEEE Transactions on Computers submission’s roofline fits exactly (Pi 5: 10.7 GB/s effective, R² = 0.980; i7-12700H: 35.7 GB/s, R² = 0.980), and two campaigns run natively by the framework re-measured the same quantities independently and agreed within 1.7%. Same config shows the GPU losing at batch 1 (dispatch overhead) and winning 29x at batch 64.

Research artifacts

The harness, data and analysis behind each paper. Archived on Zenodo so a result can be cited and re-run.

rpi5-quantization-benchmark

Controlled evaluation of INT8 quantized models on Raspberry Pi 5, isolating export format and graph optimisation from the weights themselves.

3.8x to 11.7x speedups, up to 43x better energy-delay product

PythonONNX Runtimeperf

DOI 10.5281/zenodo.21844863

edge-llm-memory-wall

Decode-side roofline for on-device language models, plus the KV-cache capacity wall and an energy-aware serving policy.

Decode roofline R^2 = 0.98, on Arm and on x86

llama.cppC++Python

DOI 10.5281/zenodo.21844855

edge-cold-start-tax

Wake-transient characterisation for duty-cycled edge inference, including GD-Tax, a tax-aware cache policy that beats LRU and LFU.

5x to 23x cold-start tax, >80x past the eviction cliff

PythonLinuxPMIC telemetry

DOI 10.5281/zenodo.21844857

pi5-thermal-proxy

Software-only thermal proxy for commodity SBCs, released with an open 13-hour telemetry dataset intended for reuse.

Cross-validated coupling law, no added sensors

PythonTelemetryOpen data

DOI 10.5281/zenodo.21844859

edge-thermal-margin-control

Convex thermal-margin allocation for multi-tenant edge inference, with the operating regimes where it fails reported alongside the ones where it wins.

PythonConvex optimisation

DOI 10.5281/zenodo.21844861

latency-elastic-edge-inference

Model-predictive thread allocation that holds a latency service objective while the platform is under thermal and contention pressure.

~3.4x reduction in p99 latency under load

PythonMPCONNX Runtime

DOI 10.5281/zenodo.21844865

edge-format-tax

Matched-byte comparison of GGUF quantization formats on three CPU microarchitectures, with per-token energy from the Pi 5 PMIC. The label on the file turns out to be a poor predictor of what it costs to run.

Same label, same bit width, up to 38% apart in decode speed

llama.cppPythonPMIC telemetry

DOI 10.5281/zenodo.21938812

edge-breakeven-speedup

The energy identity behind multithreaded edge inference, measured rather than assumed: 831 runs across nine architectures, four clock frequencies and one to four threads, with power integrated from the on-board PMIC.

Break-even speedup near 1.8x, sign predicted in 64 of 64 configurations

PythonONNX RuntimePMIC telemetry

DOI 10.5281/zenodo.21987261

Tools

Things that outgrew the paper they came from and became usable on their own.

Lab and pipelines

Infrastructure that makes the measurements repeatable.

Contributions to the infrastructure itself.

Contributions to the projects this research already depends on. Root-cause habits transfer: read the failing system, isolate the fault, fix the cause rather than the symptom.

Seeing potholes coming.

A year-long, team-built in-vehicle detection system: stereo depth sensing, CNN detection on embedded hardware, a custom PCB, and a driver alert display. Shipped as a product, not a demo.

Concept illustration: windshield stereo camera and dash display alerting the driver to potholes ahead
Exploded hardware view: Raspberry Pi with M.2 HAT, custom PCB and power module

Pothole Detection System

ECE senior design · UMass Amherst · Sep 2024 to May 2025

Potholes cause billions of dollars in damage a year, and drivers swerving or braking to avoid them is its own hazard. This year-long capstone detects them in real time instead: stereo cameras build a depth point cloud of the road, a CNN detects potholes from the visual and depth data on Raspberry Pi hardware, and an in-vehicle display gives the driver an immediate visual alert. The prototype hit 80 to 90% detection accuracy at speeds up to 35 to 45 mph, with ultrasonic sensors for multi-modal sensing and a custom PCB handling power, sensor interfacing and Pi connectivity. Self-contained, installable in most vehicles, and built to stay affordable.

80-90% detection accuracy, operational at 35-45 mph

Stereo visionCNNRaspberry PiUltrasonic sensorsCustom PCB

Where the hardware habit started.

Award-winning weekend builds from before the research program. Kept here because everything above traces back to them.

The WorldWide Rover: a 3D-printed chassis with yellow wheels and ultrasonic sensors
Best Embedded System

WorldWide Rover

HackUMass XII

A rover anyone could drive from anywhere over the internet, with onboard obstacle avoidance and maze solving when nobody was steering.

PythonFlaskReactAWSRaspberry Pi
The 4Sight device: a handheld 3D-printed unit with an array of ultrasonic sensors
Best Hardware Hack + Best Circuit Hack

4Sight

HackUMass X

A wearable that turns ultrasonic distance readings into haptic feedback, so obstacles are felt rather than heard.

Raspberry Pi PicoUltrasonic sensingHaptics
The Booth Beacon prototype: a 3D-printed enclosure holding a Raspberry Pi and breadboard, with an ultrasonic range finder and an RFID-RC522 reader on the front

Booth Beacon

HackUMass IX

RFID and distance sensors on dining-hall booths, surfaced as a live seat-availability map. First real 3D-printing and Raspberry Pi build.

Raspberry PiPythonFlaskSQL