SV Advanced Computing, LLC

Performance Engineering
for GPU & AI Systems

Independent research and consulting in HPC performance optimization, GPU computing, and AI infrastructure. We profile, analyze, and optimize at the intersection of hardware and software.

Using AI · for everyone

Understand the tools you're using — and keep the human in the loop.

A growing, plain-language guide to what AI models actually are, how they work under the hood, and how to use them humanely — the judgment, verification, and care that stay yours. Visual explainers, honest tradeoffs, no hype.

Explore Using AI →

I. Case Studies

A V-Cycle of Models: Routing a Coding Agent Between a Local Smoother and a Frontier Corrector

Multigrid is fast because a cheap smoother handles the easy, high-frequency error and the expensive coarse-grid correction is spent only on the global part. Point that at LLM inference and you get a V-cycle of models: a small local model does the bulk, a frontier model is called only for the corrections it can't make. This campaign builds that on a scalable, objectively-graded coding problem and tests three ways to decide which tier handles each task. The honest arc: naive auto-routing pays a 74% classifier tax; a signal-based router kills it; but the clean answer is to route by the verifier — escalate only the files that still fail. And the punchline is stronger than the mechanism: a modern 7B coder leaves an empty residual, so routing-by-verification delivers frontier-verified correctness at local cost, with the expensive tier never called.

Read the case study →

A Portable GPU Performance Methodology: PENNANT Across Three Architectures, Built to Reach Pre-Silicon

A self-directed exploration to establish a reusable, platform-agnostic GPU performance methodology — not a vendor benchmark. PENNANT, the unstructured-mesh Lagrangian hydrodynamics code from the CORAL-2 suite that vetted El Capitan, is the hard target; the deliverable is the method: roofline-driven kernel selection, correctness gating against a reference, and measurement discipline, carried across NVIDIA T4/H100 and AMD MI300X from one clean-room codebase (CUDA · HIP · OpenMP-target). It includes an honest CPU/GPU crossover, a hybrid-dispatch flag that flips sign between vendors, two honest compiler-flag negatives, and a 6.9% 'win' that dissolved under round-robin re-measurement, and a cross-vendor stall measurement showing an MI300X and an H100 leave 97–99.7% of their compute idle on memory — identical signatures, because the under-use is the algorithm's and not the vendor's — plus a path to shim the same harness into pre-silicon architectural simulators. The point isn't a speedup headline; it's a method that travels across vendors and forward into simulation.

38.5× 2.7% → 89% ~2M zones
Read the case study →

Physics-Informed Neural Networks for Plasma: A Challenger to the Mesh

A systematic campaign benchmarking physics-informed neural networks against traditional mesh-based solvers for plasma problems — asking the honest question scientific-ML papers usually skip: at what point, if any, does a PINN actually beat a finite-difference solver in wall-clock time to a fixed accuracy? Across three matched-accuracy head-to-heads — 1-D diffusion (~40,500×), coupled tokamak transport (~49,800×), and Grad-Shafranov equilibrium (~37,400×) — the classical solver wins every one, and the parametric PINN never breaks even. Even the PINN's predicted niche, ill-posed inverse problems, dissolves under a fair test: once the classical inversion is given the same regularization it matches or beats the network (~11% vs 14.5% error) — the prior, not the PINN, is what tames the inverse problem.

40,500× ~11% vs 14.5% 6/6
Read the case study →

II. Recent Investigations

Same Weights, Different Stack: An Open-Model Bake-off on AMD and NVIDIA

Three open mixture-of-experts models with about 3B active parameters (AMD's Instella, NVIDIA's Nemotron 3 Nano, and Qwen3 as a neutral reference), served on one AMD MI350X and one NVIDIA B300 with vLLM and SGLang, measured with GenAI-Perf definitions at three repeats per point. With the same vLLM version on both cards the B300 is 1.9x the MI350X for Nemotron and 1.5x for Qwen, so the home-turf gap was not a version artefact. Swapping vLLM for SGLang moves throughput by -15% to +24% depending on model and workload, more than vLLM version drift (within 5%) and far more than run-to-run noise (median 0.3%). And whether a model runs at all depends on the engine build: on the versions we tested, Instella served on none of them, on either vendor.

What Happens When You Ask a Chatbot the Weather

One question, "What is today's weather in Destin, FL?", traced through an AI coding agent: three prefill-and-decode rounds on the large model, a tool lookup, a web search whose result arrived pre-digested by something on the server, and a permission classifier on every tool call. Then the small models around the big one: what Claude Code documents (a Haiku-class background model, a separate model call for WebFetch, a Sonnet classifier for auto mode) and what it doesn't (session titles), six jobs a small model does well with examples from this session, where small models sit in other systems, and the bandwidth arithmetic that makes them cheap.

Fixing A to Hit b: Backpropagation, One Matrix at a Time

Backpropagation for one linear layer, in matrix form. With a trusted input x, an approximate matrix A and a target b that A x misses, the gradient of the squared error is the outer product of the residual and the input, r xᵀ. Each step multiplies the residual by 1 − η‖x‖², which is why the safe learning rate scales with the input and why networks normalise activations; at η = 1/‖x‖² the fix is exact and it is the smallest change to A that hits b. Then many examples (least squares and the normal equations), two layers (transposes carry the error backward), and what it means in practice — with a live 2×2 playground.

Reproducibility Is a Ladder: What You Can Test About an LLM, and Why It Can't Be Your Compiler

A compiler and a language model both turn text into text, and only one of them can go in a build system. The reason is worth spelling out, because it is not the obvious one. Determinism is what people cite — and a served LLM has less of it than they think: temperature zero is not determinism when your request shares a batch with strangers, and adaptive thinking means the model now chooses how much computation to spend per turn. But you could pin an LLM to bitwise determinism and it would still be unfit, because the disqualifying property is soundness. A compiler's failure mode is an error; a model's failure mode is plausible wrong output, and a toolchain cannot be built on a component that has no way to say it does not know. What follows from that is practical rather than gloomy: reproducibility is a ladder with five rungs, almost every engineering decision needs only the top two loosest ones, and the tests that establish them are cheap and mostly unwritten. Including the one nobody runs — the probe that measures your own non-determinism instead of assuming it.

What Your Agent Can Drive: The Remote-GPU Toolchain, Sorted by Integration Surface

Once you know where an agent's parts run and what crosses the wire, one practical question is left: which software do you actually install, and which of it can the agent drive by itself? That second half is the one nobody sorts for. Every piece of remote-GPU software falls into exactly three roles — the brain it calls to think, the hand it invokes as a tool, and the floor it never sees — and cuts again on whether there is a non-GUI surface an agent's act-step can reach. Sorted that way the landscape collapses usefully: model endpoints are nearly interchangeable because they all speak one HTTP shape, job runners are heterogeneous and are where your real choice lives, notebooks and remote editors are for you and not your agent, and CUDA-remoting products are the wrong layer entirely. A full inventory in five tables, the three rules that follow, and the honest status of each protocol and product.

The Wire Between You and the GPU: Topology, Mechanics, and How to Obfuscate It

Your agent runs on your laptop. The weights it calls run in a datacenter two thousand kilometres away, and the only thing that crosses between them is text — never GPU work. One ratio explains why the boundary sits exactly there: the internet is roughly 2,400 times the latency of a small NVLink collective, so you can afford to cross it once per request and never once per layer. That gives five possible topologies, of which one is the default, one is an anti-pattern, and three are situational. It also gives an uncomfortable corollary: everything that crosses the wire is plaintext at the far end, and for a coding agent that plaintext is your repository. So the second half is a catalogue of what you can actually do about it today — software options from prompt minimization to FHE, hardware options from SEV-SNP to confidential-mode GPUs with attestation before the first token — with the honest status of each, and a scenario table for choosing.

View all 50 investigations →

III. Focus Areas

Pre-Silicon & Whole-System Co-Design

Exploring novel concepts pre-silicon — co-designing algorithm, runtime, and architecture before the hardware exists. A holistic, whole-system view, where the performance win comes from the full stack working together rather than any single layer.

AI Framework Performance

Profiling and optimization of PyTorch, NeMo, Megatron-Core, and inference runtimes (vLLM, TRT-LLM). End-to-end training and serving pipeline analysis.

GPU Architecture Analysis

Deep performance characterization on NVIDIA and AMD GPU architectures. Memory hierarchy analysis, occupancy tuning, kernel optimization using Nsight and ROCm profiling tools.

HPC & Distributed Systems

MPI, NCCL/RCCL communication optimization. Multi-node scaling analysis. Performance engineering for exascale-class systems.

Custom Instrumentation

Beyond vendor tools — custom profiling, roofline modeling, memory bandwidth characterization, and performance modeling for novel workloads.

Systems & Concurrency

OS and runtime effects that gate accelerators — memory allocation, NUMA placement, page faults — plus thread contention and data-race correctness across precisions and GPU architectures.