Second Run / Workload report · for Hot Aisle
Independent, free tool by Second Run · MIT · v2.3.0
Runner · not connected

Second Run · for Hot Aisle MI300X

Drop your vLLM result.

One figure: what 1,000 accepted requests cost on your Hot Aisle allocation, and what an H100 would have to deliver to tie. The file stays in this tab. The receipt recomputes from its bytes.

Inspect assumptions

Prices, gates, comparison conditions, full report, receipts

Everything the figure above rests on. Change any of it and the figure recomputes. Nothing here is typed in; every number comes from the imported bytes and the price you entered.

Cost = allocation price × benchmark windows, nothing else unless you enter it
Completed is not correct: gates decide what counts
Price ratios are not measured speed

Inputs

Your result, your price, your gates

Import one or more trials on each side; a comparator is optional. Files stay in memory and clear on reload.

Count only results that meet your requirements

“Completed” means a successful response, not a correct task. Gates below change the cost denominator. They need per-request samples.

Gates intersect on the same requests; nothing is multiplied. A per-request pass/fail file (a sidecar) binds correctness to an exact source hash. Sidecar format

Full report

Edit inputs

Import a result on either side. A comparison file is optional.

No file needed

Price-only break-even

At the same allocation size, the share of a comparator's throughput that MI300X needs to tie on rental cost. Price ratios, not measured speed.

Prices per GPU-hour from each provider's public list page (DigitalOcean GPU Droplets, Nebius AI Cloud), reviewed 22 Sep 2026. Confirm the purchasable instance size. Custom rates and whole-bill charges go in the inputs above.

Manual path

Get a compatible result from your server

Add these flags to your existing, approved vllm bench serve command. Keep your actual model, request set and offered load. The runner emits exactly these.

$ vllm bench serve …your existing arguments… \ --save-result --save-detailed \ --percentile-metrics ttft,tpot,itl,e2el --metric-percentiles 50,95,99 \ --result-filename workload-result.json

This page never starts a benchmark by itself. The runner does, only after you approve a plan hash. Generated text and error bodies in detailed results are excluded from every export.

Receipts

Verify a receipt against its source file

Select a saved Evidence JSON and any original result file. A match proves the report was computed from exactly those bytes.

Command line: node scripts/recompute.cjs evidence.json original.json or workload verify <record> run the page's own engine outside the browser.

What this claims, and what it doesn't

Cost

  • Cost starts with the allocation you enter and the sum of the benchmark windows. Setup, restarts, idle time, storage and taxes outside those windows are excluded unless you enter them.
  • A whole-bill override divides your supplied charge by the outcomes in the imported set.
  • Repeated runs are weighted by measured duration.

Latency

  • Percentiles pool only when every trial has successful-request samples; otherwise per-trial ranges stay separate.
  • Failed requests never improve latency statistics. Producer goodput is recorded, never relabeled as correctness.

Qualification

  • A record is qualified when the concurrency level you will run at (its primary cell) meets every stated requirement with no requirement left unchecked (a held gate). Requirements are yours; the tool applies them, it does not choose them.
  • A local-environment record is always marked synthetic and can never be published as measured.

Comparison

  • Model, revision, precision, tokenizer, workload, cache and offered-load identities must match before a savings figure appears.
  • Entered identities are declarations. Imported benchmarks are producer evidence. There is no independent-verification badge.

Runner

  • The runner reads the Hot Aisle API and never provisions, deletes or powers anything. It starts a benchmark only for a plan whose hash you approved, within your time and spend limits.
  • Jobs and records live on the machine running the runner. The page holds no state.

Privacy

  • Files stay in memory and clear on reload. No account, backend, telemetry or storage in the page.
  • Reports omit prompts, responses, error bodies, original filenames and unknown metadata. They keep model and runtime identifiers, normalized timings and file hashes.

Sources

Example record · synthetic · no GPU was measured

What a qualified record looks like

Projected in this browser from the record's retained trials through the page's own engine, then checked against the record's checksum. Nothing on this card is typed in.

Paste one benchmark result

JSON, appended JSON results or one vLLM console summary.