
# GPU Benchmark Inspector

By [Ezgi Tastan](https://ezgitastan.systems/).

Compare measured configurations rather than a single headline speedup. The reference experiment is MiniMax-H3 reference-to-video inference on one GB300 tray: one, two, and four GPUs, plus four GPUs with FP8 weights. Each configuration has three retained runs.

Choose a baseline, candidate, statistic, and chart metric. Inspect every sample, download the source bundle, or import a compatible JSON bundle from your computer. Imported files are processed in your browser and are not uploaded. No model runs in this Space.

## What the numbers mean

- Inference time is the server's `inference_time_s`. It excludes final encoding and is different from client submit-to-done wall time.
- Energy is an estimate from 500 ms polling of all four GPU power domains, including idle neighbours. The original sampler integrates only points inside submit-to-done; it does not fill either window edge. The actual edge error cannot be reconstructed from the retained TSVs. CPUs, NVSwitches, DPUs, and PSU losses are excluded.
- Peak memory retains the source's `peak_mb` unit, labelled MB. It is indicative: the three samples vary, especially with parallelism.
- GPU-seconds is an occupancy proxy: active GPU count multiplied by server inference time. It is not measured GPU execution time, whole-tray reservation cost, or throughput.
- Median is the default. Mean reproduces the article's averaging convention. Charts show the full observed range; with three repeats, this is not a confidence interval or a tail-latency estimate.
- FP8 changes numerical precision. Lower time and memory do not establish equal output quality.
- One clip on one tray is a case study, not a hardware or model leaderboard.

## Provenance

The bundled sample values are transcribed from `figdata/rung1.tsv`, `rung_sp2.tsv`, `rung2.tsv`, and `rung3.tsv` at [8734f72a33426f32331b1baf43d0dc7965978a7b](https://github.com/EzgiTastan/minimax-h3-gb300-ebpf/tree/8734f72a33426f32331b1baf43d0dc7965978a7b).

Workload metadata and measurement scope come from the [published methodology](https://ezgitastan.systems/blog/minimax-h3-sglang-gb300-ebpf/): 277 frames, 1024 × 768, 50 steps, seed 7, joint audio, one reference image, and the same prompt. The article reports driver 595.71.05; the exact SGLang revision remains unknown. Measurement limitations are included in the JSON and survive download and re-import.

The repository's Apache-2.0 license applies. The full license is at [LICENSE](https://github.com/EzgiTastan/minimax-h3-gb300-ebpf/blob/8734f72a33426f32331b1baf43d0dc7965978a7b/LICENSE).

## Import format

Download the reference JSON in the app as the template. Version 1 accepts one experiment per file, with shared workload and environment metadata, and 2–24 configurations. Each configuration requires a unique ID, name, GPU count, precision, parallelism, and 1–1,000 samples. Samples require a unique nonnegative integer `run` and finite positive `infer_s`, `wall_s`, `peak_mb`, `energy_kj`, and `mean_tray_w` values. File size is limited to 2 MB.

The format assumes each configuration uses the declared common workload and environment. Do not combine different prompts, resolutions, durations, software stacks, or measurement scopes in one file. This app validates structure and arithmetic, not the truth of uploaded metadata. It does not import raw Nsight, NCCL, or arbitrary CSV files. Numeric measurements must be between 1e-9 and 1e12, and the GPU count must be between 1 and 4 for the supported energy scope.

Keep the required `energy_scope` value `four_gpu_domains_submit_to_done` only for measurements with that exact scope. Other energy scopes are intentionally unsupported in version 1.

## Local preview and checks

From the companion GitHub repository root, in a Mac terminal — READ-ONLY except for a temporary local preview process; no package install is needed.

```sh
node space/serve.mjs
```

Open `http://127.0.0.1:4173`. Stop the process with Ctrl-C. The server listens only on loopback and exposes an explicit list of app files.

From a standalone Hugging Face Space checkout root, in a Mac terminal — READ-ONLY except for a temporary local preview process:

```sh
node serve.mjs
```

From the companion GitHub repository root, in a Mac terminal — READ-ONLY validation:

```sh
node --test space/tests/*.test.mjs
```

The sample-provenance test reads the original `figdata/*.tsv` files in the companion repository. A standalone Space checkout does not contain those fixtures; run the validation suite from the companion repository, not from the standalone Space checkout.

## Hugging Face publication

This page is now the `benchmark.html` companion inside GPU Reliability Lab. Use the root [README](README.md) for the complete public file allowlist and publication state. There is no build command, package install, paid compute, or backend.

References: [Static Spaces](https://huggingface.co/docs/hub/spaces-sdks-static), [Space configuration](https://huggingface.co/docs/hub/spaces-config-reference), [browser File API](https://developer.mozilla.org/en-US/docs/Web/API/File_API/Using_files_from_web_applications).
