Skip to content
View YuchenHe985's full-sized avatar

Block or report YuchenHe985

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.

Content in all repositories owned by your account will be closed.
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
YuchenHe985/README.md

Yuchen He

GPU / AI Systems · Systems Performance · Embedded / FPGA / SoC

M.S.E. Electrical Engineering @ University of Pennsylvania (2026–2028)

Building hardware-aware software from real measurements: multi-GPU inference, reliable serving, performance-oriented C++, and register-level systems.

Python · Go · C/C++ · CUDA C++ (Tensor Cores) · CUDA/NCCL · ARM NEON · Vitis HLS · Linux

Open to Summer 2027 internships in GPU/AI systems, embedded software, and hardware-aware performance engineering.

yuchenhe985.github.io · LinkedIn · yuchenhe.work@outlook.com

Selected systems work

Project Engineering focus Evidence
RadixGates Failure-tolerant Go gateway for multi-GPU LLM serving: prefix affinity, health-aware failover, circuit breaking, admission control, and OpenAI-compatible routing Node-crash clean completions 85.2% → 99.7% under identical injected faults (simulated workers); on three real llama.cpp workers, found spill-on-full routing cut prefix-cache hits 59.1% → 24.4%; 55 tests under go test -race
lowbit-kernels INT4 weight-only CUDA kernels (GEMV ladder to mma.sync tensor cores) as a drop-in layer for Qwen2.5, with dispatch chosen from a measured batch sweep At batch 1, 0.34–0.69× the FP16 weight-streaming time (deployed variant 0.43–0.74×); CUDA-graph decode 1.37–2.01× FP16; 3B memory 7.85 → 3.64 GB; decode kernels match a fake-quant reference on 99.2–100% of next tokens
llm-serving-eval-kit GPU-memory sizing, topology interpretation, startup-log diagnosis, repeated benchmark matrices, and confounder-aware comparison 11 failure signatures, bootstrap intervals, cost/SLO reporting, and 39 unit/end-to-end tests
cdc-chunker C++17 Gear/Rabin content-defined chunking with streaming and bit-identical parallel output About 2.0 GB/s sequential and 7.4 GB/s with 8 threads on Apple M1; 31 tests plus 23/23 mutation checks
llm-finetune-lab Local text-to-SQL feasibility study: LoRA/DDP, execution-based evaluation, GGUF deployment, and guardrail analysis 398 MB Q4 model, 82.6% execution accuracy, 1.76× two-GPU training speedup; evidence-based human-in-the-loop release decision

Hardware and embedded

Measured on the target hardware. The code is not public; method and results are below.

Project Engineering focus Evidence
FPGA matrix-multiply accelerator (Vitis HLS, Ultra96 / Zynq UltraScale+) Traced an II=4 stall to memory read ports and fixed it by complete array partitioning; C/RTL co-simulation; on-board timing and an offload cost model II=4 → II=1 at 150 MHz, 320/360 DSPs; 1.15× vs -O3 Cortex-A53 per kernel; break-even at N ≈ 395 once OpenCL setup is counted
Cortex-A53 pipeline + NEON (Ultra96) Profiled on the target, split a four-stage video pipeline across two cores at a measured point, hand-wrote NEON intrinsics 53.2 → 97.4 frames/s (1.83×), bit-exact; NEON kernel 1.34× over -O3 scalar
6T SRAM bitcell + 4-bit MAC macro (18 nm FinFET, Cadence) β sweep to pick fin counts, DRC/LVS-clean custom layout, post-layout extraction; 16×4 array with decoder, sense amps and MAC under FSM control Extracted read/hold SNM 150/270 mV at 0.8 V, still 96 mV read SNM at 0.5 V; hand model within 18 mV of simulation
AVR input-capture firmware (ATmega328PB) Timer1 input-capture ISR with a 32-bit software overflow count and atomic snapshots; race handling proved on a host build 0 mismatches in 100 million random captures; without the wrap rule about 8% were off by a period

Software and data engineering

Project Engineering focus Evidence
conference-ops Spring Boot 3 + PostgreSQL 16 backend: row-locked seat allocation with a FIFO waitlist, exclusion constraints against double-booking, idempotent retries, optimistic locking, Flyway 60 concurrent requests for 10 seats never oversell (the test fails when the lock is removed); 25 integration tests on real PostgreSQL
review-pipeline Python/DuckDB/Parquet pipeline: data contracts with quarantine, content-addressed idempotent stages, point-in-time features, leakage-safe evaluation 494K real reviews in about 45 s; a random split would overstate R² 4.6×; top-decile helpful rate 2.13× the base rate
budget-manager Java 17/JavaFX desktop app on SQLite: integer-cent money, versioned migrations, all-or-nothing CSV import, verified backup and restore 40 JUnit tests; schema upgrades keep existing data; a damaged backup is refused with live data untouched

Field notes

Four short notes on what a measurement taught me, on my site:

What connects the projects

  • Measure before optimizing: record topology, software versions, failure modes, repetitions, and uncertainty before attributing a result.
  • Design for failure: make overload, node loss, partial streams, and invalid model output explicit instead of hiding them behind averages.
  • Follow the hardware: connect routing, cache locality, communication topology, memory limits, and parallelism choices to observed behavior.

Current direction

Moving down the stack from serving systems toward accelerators: low-bit GPU kernels, FPGA offload, register-level firmware and custom memory circuits, each judged by what it measures on real hardware. Earlier, at Shopee, I built PySpark/Hive pipelines and data-quality checks for a regional logistics forecasting platform.

Popular repositories Loading

  1. YuchenHe985 YuchenHe985 Public

    Profile README

  2. cdc-chunker cdc-chunker Public

    Content-defined chunking in C++17: Gear and Rabin rolling hashes, streaming API, differential tests and mutation checks

    C++

  3. radixgates radixgates Public

    Go gateway for multi-GPU LLM serving on SGLang: prefix-affinity routing, failover, circuit breaking, admission control, and a failure-injection benchmark against the original.

    Go

  4. llm-serving-eval-kit llm-serving-eval-kit Public

    Sizing, failure diagnosis and reproducible benchmarking for LLM inference deployments: GPU memory estimator, startup-log diagnoser, benchmark matrices with confidence intervals, confounder-aware co…

    Python

  5. llm-finetune-lab llm-finetune-lab Public

    Feasibility study of an on-device text-to-SQL assistant: LoRA fine-tuning with PyTorch DDP, evaluation by executing the generated SQL, guardrails against wrong answers, GGUF quantization.

    Python

  6. yuchenhe985.github.io yuchenhe985.github.io Public

    Personal site of Yuchen He: systems under AI, measured.

    Python