Progress & Strategy Report

A non-intrusive per-step inference-time predictor, built from datasheet parameters and validated against real datacenter GPUs — where the project stands after Round 1, and the three papers it can become.

A100-80 · H100 · H200 · L40S · RTX 5090 · RTX PRO 6000 Blackwell Week goal: 總進度收尾 Every number cites a results file

1. One-Page Snapshot

The project asks a single question: can we predict how long one inference step takes on a GPU we have never profiled, without instrumenting the engine and without training a per-device model? The answer after Round 1 is a qualified yes.

~1.8%
decode MAPE, real ShareGPT (base predictor)
1.56×
OURS vs RF, unseen H100
92.3%
SKU selection accuracy
+30.7%
Sarathi chunk @SLO

This report restates the model and its derivation, presents the five-factor compute ceiling, shows the per-SKU factor curves measured on six real GPUs, summarises Round 1 with each number traced to a results file, and closes with a submission-directions map.

In-flight, marked honestly: E1.14 (clock-lock control, 2/4 jobs, partial) and E2.10 (end-to-end vLLM) were still queued and their numbers are not included below.

2. The Model — One Step, Decomposed

A serving engine repeats one inner loop: run the projection GEMMs and attention on the GPU, then a thin layer of host-side scheduling and sampling. We model the per-step latency $t_{\text{step}}$ as GPU compute time plus a host residual:

(1) $$t_{\text{step}} \;=\; \underbrace{\sum_{g\,\in\,\text{GEMMs}} \frac{2\,M_g K_g N_g}{\eta_c(g)\cdot P_{\text{peak}}}}_{\text{projection GEMMs}} \;+\; \underbrace{t_{\text{attn}}}_{\text{attention}} \;+\; \underbrace{t_{\text{light}}}_{\text{elementwise / KV-write}} \;+\; \underbrace{S(N)}_{\text{host residual}}$$

Each GEMM's ideal time is $2 M_g K_g N_g / P_{\text{peak}}$; the achieved-efficiency $\eta_c(g)<1$ captures the shortfall. The host residual $S(N)$ grows linearly with concurrency $N$:

(2) $$S(N) \;=\; s_{\text{floor}} \;+\; s_{\text{slope}}\,(N-1)$$

The host constants are calibrated once per SKU and frozen; H100's shipped floor of ~2.37 ms is within ~0.2 ms of the oracle best constant (E1.19). Every term in equation (1) is a datasheet constant or a closed-form function of the request shape — no per-device training, no engine instrumentation.

t_step (one iteration) — what we predict from datasheet + request shape
GPU compute: projection GEMMs (five-factor ceiling) + attention roofline + light/KV-write kernels
+
Host residual S(N): non-overlappable scheduler + sampling cost, linear in concurrency

3. The Five-Factor Compute Ceiling

The hardest term is a GEMM's achieved efficiency $\eta_c$. We express the shortfall not as one fudge factor but as a product of five physically meaningful sub-factors:

(3) $$\eta_c \;=\; \underbrace{\eta_{\text{clock}}}_{\text{DVFS / power cap}} \cdot \underbrace{\eta_{\text{wave}}}_{\text{tile quantization}} \cdot \underbrace{\eta_{\text{tc}}}_{\text{tensor-core util}} \cdot \underbrace{\eta_{\text{barrier}}}_{\text{duty / sync}} \cdot \underbrace{\eta_{\text{mem}}}_{\text{L2 / bandwidth}}$$

3.1 Where 989 TFLOP/s comes from

The peak rate $P_{\text{peak}}$ is itself a product of countable hardware units. For the H100 SXM at BF16 dense:

(4) $$P_{\text{peak}} = \underbrace{132}_{\text{SMs}} \times \underbrace{4}_{\text{tensor cores/SM}} \times \underbrace{512}_{\text{FMA/TC/cycle}} \times \underbrace{2}_{\text{flop/FMA}} \times \underbrace{1.83\,\text{GHz}}_{\text{boost clock}} \;\approx\; 989\ \text{TFLOP/s}$$

The boost clock of 1.83 GHz is a load-bearing term in the peak itself. The first sub-factor $\eta_{\text{clock}}$ is the ratio of sustained clock under load to this nominal boost clock — when the GPU cannot hold 1.83 GHz, achieved FLOP/s falls in direct proportion.

3.2 The five factors, measured

Each factor is measured. Below is one representative compute-bound H100 cell (gate_up, T=4096) where achieved efficiency under real DVFS collapses from 1.0 to 0.46, attributed term by term (E1.5).

Factor What it captures H100 cell Pull-down (pp)
$\eta_{\text{clock}}$sustained / boost clock0.69730.3
$\eta_{\text{wave}}$tile / wave quantization0.84910.6
$\eta_{\text{tc}}$tensor-core util (HMMA %)0.9930.4
$\eta_{\text{barrier}}$duty / sync losses0.78612.5
$\eta_c$achieved, real DVFS0.462

The single largest contributor is the clock factor (30-point pull-down) — the empirical justification for treating $\eta_{\text{clock}}$ as a first-class term.

Per-SKU five-factor waterfall
Five-factor waterfall (per SKU): achieved efficiency decomposed from 1.0 through clock, wave, tensor-core, and barrier losses. Source: E1.5.
Stacked pull-down contributions
Stacked pull-down: how many percentage points each factor removes from peak. The clock band is consistently the tallest. Source: E1.5.

3.3 The memory factor is an L2-reuse law

For memory-bound work the binding factor is $\eta_{\text{mem}}$. Round 1 found a single closed-form law in one dimensionless variable — working set over L2 capacity:

(5) $$\eta_{\text{mem}}(x) = \frac{0.90\,x}{x + 0.477}, \qquad x = \frac{\text{working set}}{L2\ \text{capacity}}$$

One $(\eta_{\max},x_{1/2})=(0.90,\,0.477)$ pair fits three SKUs at 4.59% MAPE (E1.3c). L40S is excluded for lack of local counter CSVs (an honest gap). The law's limit: applied verbatim to engine decode kernels it misses ~42% (E1.17) — the standalone law is real, transferring it to engine kernels is not yet solved.

Cross-SKU L2-reuse collapse
L2-reuse collapse: streamed achieved-bandwidth fraction collapses onto one curve against working-set / L2. Source: E1.3c.

4. Per-SKU Factor Curves — The Clock Story

The clock factor varies most across hardware and load; Round 1 instrumented it on six real GPUs. The picture is causal: a power cap sets the sustained clock, the clock sets achieved throughput, and a large batch is what makes the cap bind.

4.1 Cap → clock → throughput is a measured causal chain

On an RTX 5090 over four caps and nine batch sizes (n=5), cap→clock is tight (r≈0.97–0.99) and clock→throughput near-deterministic (r≈0.996). A clock-lock control closes it: locking the SM clock to 2200 MHz drops throughput from 114.8 to 99.5 TFLOP/s at M=64 (E1.9).

Cap dose-response
Dose-response: sustained clock and achieved TFLOP/s vs power cap, RTX 5090, n=5. Source: E1.9.
Clock-lock control
Clock-lock control: free-run vs locked-clock on the same silicon — throughput tracks the clock. Source: E1.9.

4.2 Droop differs by SKU; Blackwell is the discriminator

Datacenter droop differs sharply by SKU: 20.2% (A100-80), 30.3% (H100), 26.5% (H200), 43.5% (L40S). Blackwell RTX PRO 6000 Max-Q is the most extreme — 54.4% droop, sustaining 1410 MHz at M=16384 vs 3090 nominal (E1.10), and uniquely shows a within-range throughput decline (2.2–4.0%): under a tight cap, achieved TFLOP/s falls as the batch grows.

Blackwell clock and TFLOP/s
Blackwell Max-Q clock & throughput: sustained clock droops to 1410 MHz and throughput declines within range as batch grows. Source: E1.10.
The decisive datacenter clock-lock is still owed: on the PACE L40S the lock was rejected for lack of permission (E1.8 inconclusive as a hardware control); the clean lock exists only on the lab RTX 5090.

5. Progress Summary — Round 1, Every Number Traced

Round 1 ran a structured program against a 22-question blueprint, split into two halves: Part 1 establishes the predictor is accurate and mechanistic; Part 2 establishes it is useful for serving decisions. Negatives are reported intact.

5.1 The decisive Part-2 win: cross-GPU transfer (E2.1)

The strongest result: on an unseen GPU, an A100-trained RF is useless transferred verbatim (88% / 135% MAPE) and recovers only with charitable spec-rescaling (11.4% H100, 10.2% H200). Our fit-free, zero-profiling predictor beats that on both: 7.3% H100 (1.56×) and 8.7% H200 (1.17×). The win is decode-driven; our prefill is honestly weaker (23–33% vs 16–18%).

Cross-GPU transfer 2x2
Cross-GPU transfer (E2.1): all-cell MAPE: A100-trained RF (verbatim and spec-scaled) vs our fit-free predictor, on home A100 and two unseen SKUs. On unseen hardware OURS wins. Source: transfer_2x2.json.

5.2 The metric-divergence lesson (E1.16)

The most consequential finding is negative. predictor_v2 improved Vidur's profiled-median GT (prefill 22.8→14.8%, E1.16 remeasure) but made REAL ShareGPT wall-clock decode worse (6.8→12.9%, E1.16 ShareGPT). The two metrics diverge: Vidur GT ≠ real wall-clock, and the simpler base predictor is what is accurate on real traces. The deployable target is the wall clock.

Vidur GT MAPE
Against Vidur GT: v2 improves prefill (22.8→14.8%). Source: E1.16 remeasure.
ShareGPT wall-clock MAPE
Against real wall-clock: same v2 makes decode worse (6.8→12.9%). Source: E1.16 ShareGPT.

5.3 Part-2 utility results, with caveats

Beyond cross-GPU transfer, the predictor drove four real serving decisions, each reported with its honest caveat.

Decision Result Honest caveat Source
SKU selection (4-way)92.3% of 78 decisive pairsearlier 100% was a tie artifact; 7.7% unbroken tiesE2.6
Power-aware scheduling+10.5% mean makespanreplayed over measured cap-penalty curvesE2.8
Sarathi chunk size+30.7% throughput @SLOrank corr 1.0; live vLLM, H200E2.9
QLM live SLO estimatorMIXED+4.2pp @40, −26pp @80; import fell back to a shimE2.3
Tie-aware SKU decision
Tie-aware SKU selection (E2.6): 92.3% correct once ties are counted honestly. Source: E2.6.
Sarathi SLO throughput
Sarathi chunk @SLO (E2.9): predictor picks the oracle chunk budget at every SLO (+30.7% vs default 512). Source: E2.9.

5.4 Mechanism findings that constrain the model

6. Next-Steps Reflection

The most important next step follows from the metric-divergence lesson: every accuracy claim must be re-anchored to real wall-clock serving, because the two metrics disagree on which predictor is better. Four threads remain open.

A. Wall-clock re-validation

Re-validate full-step prefill and the light-kernel closing against measured wall-clock, not Vidur GT. Until then v2 is not the accurate model on real traces; the base predictor is.

B. In-flight: E1.14 + E2.10

E1.14 (clock-lock control) returned 2/4 jobs — partial, numbers withheld. E2.10 (end-to-end vLLM) is still queued. Both would convert correlational/replayed claims into live-system claims.

C. Datacenter clock-lock

The clean lock exists only on the lab RTX 5090; PACE denies SM-clock locking. A datacenter-card lock is needed to make the cap→clock→throughput chain a datacenter control.

D. Broaden the utility set

Fix the QLM heavy-load regression (−26pp @80), add serving systems beyond Sarathi/DistServe/QLM, and land the L2 law on engine kernels (close the E1.17 42% gap).

7. Submission-Directions Map

The Round-1 evidence supports three candidate papers at different maturities, carving the work along its three natural seams — measurement, predictor, utility — each with a distinct target venue.

A — Frequency measurement note
Venue: MLSys-style workshop / measurement track
MOST MATURE
cold 7.0

Clock as an M-dependent power-cap step, per-SKU droop, the Blackwell within-range decline, and the cap→clock→throughput causal chain.

Remaining gaps: camera-ready + /citation-audit + /paper-extract.

B — Non-intrusive per-step predictor
Venue: ML-for-systems / systems conference
MATURING
cold 6.5

The five-factor ceiling + the L2 law + mechanism-from-parameters; decode 0.9–1.8% on real traces; full-step prefill still open.

Biggest threat: metric divergence (Vidur GT ≠ wall-clock) → needs Round-2 wall-clock re-validation + a deployable tile/cluster model.

C — Predictor utility for serving
Venue: serving / scheduling conference
EMERGING
utility-driven

Non-intrusive capacity planning: SKU selection 92.3%/decision, the cross-GPU transfer win (E2.1), power-aware +10.5%, Sarathi +30.7%.

Remaining gaps: end-to-end vLLM (E2.10 in-flight), QLM heavy-load fix, more systems.

Sequencing: A ships first (self-contained, past the cold-oracle bar); B is the intellectual core but gated on Round-2 wall-clock re-validation; C is the most compelling systems story but depends on E2.10 and a QLM fix landing first.