Skip to content
Run

Run a benchmark

One container, one command. No account, no GitHub token, no email address. You see the exact manifest before anything leaves your machine.

1. Check your system

Linux with the NVIDIA driver and Container Toolkit installed. x86_64 or aarch64 — DGX Spark is supported natively. WSL2 works but is marked experimental, and results from it are labelled as such.

# Reports driver, CUDA, GPU, disk, RAM and which profiles you qualify for
docker run --rm --gpus all ghcr.io/pavel4ai/localmax-llm:latest doctor

2. Pick a profile

Pick the highest tier your total VRAM supports. Running a lower tier as well is useful — it is how a system gets comparable across the whole range.

ProfileTierMin VRAMModelDownloadRun time
diffusion-enthusiast-baseEnthusiast · BF1624 GB8B bf1617 GB~14 min
diffusion-entry-baseEntry · BF1612 GB4B bf167.0 GB~14 min
diffusion-frontier-baseFrontier · BF1664 GB12B bf1624 GB~14 min
llm-enthusiast-baseEnthusiast · BF1624 GB8B bf1616 GB~14 min
llm-entry-baseEntry · BF1612 GB4B bf168.0 GB~14 min
llm-frontier-baseFrontier · BF1664 GB32B bf1664 GB~14 min
vision-enthusiast-baseEnthusiast · BF1624 GB8B bf1617 GB~14 min
vision-entry-baseEntry · BF1612 GB4B bf169.0 GB~14 min
vision-frontier-baseFrontier · BF1664 GB32B bf1666 GB~14 min

INT4 and NVFP4 lanes exist for each tier and are listed on theprofile matrix. They fit a larger model in the same VRAM and are ranked separately.

3. Run it

# Weights are cached in ~/.localmax and reused across profiles
docker run --rm --gpus all -v ~/.localmax:/cache \
  ghcr.io/pavel4ai/localmax-llm:latest run llm-entry-base

# Vision and diffusion use their own images
docker run --rm --gpus all -v ~/.localmax:/cache \
  ghcr.io/pavel4ai/localmax-vision:latest run vision-entry-base

docker run --rm --gpus all -v ~/.localmax:/cache \
  ghcr.io/pavel4ai/localmax-diffusion:latest run diffusion-entry-base

The container starts the pinned inference runtime, waits for it to become ready, runs a warm-up, then drives the endpoint with the fixed workload while sampling GPU telemetry. Close other GPU work first — the runner records what it sees, including your browser.

4. Inspect before you publish

Nothing is transmitted until you accept it. inspect works entirely offline and prints the manifest and every artifact that would be uploaded.

docker run --rm -v ~/.localmax:/cache \
  ghcr.io/pavel4ai/localmax-llm:latest inspect LAST
Collected
GPU model, VRAM, driver, CUDA, PCIe link, power limit and clocks; CPU model and core count; RAM; OS and kernel; every measured metric, the raw per-request records, and the telemetry trace.
Never collected
Hostname, username, filesystem paths, GPU serial numbers or board UUIDs, MAC addresses, environment variables, or anything about unrelated processes. Logs are redacted locally before they are written.

5. Submit

docker run --rm -v ~/.localmax:/cache \
  ghcr.io/pavel4ai/localmax-llm:latest submit LAST

The CLI prints a short verification link. Open it, complete a one-click browser check, and the upload proceeds. That check is the only thing standing between an anonymous contributor and the leaderboard — it exists to make bulk fabrication expensive, not to identify you.

Your result appears within a minute or two. It is validated asynchronously: every derived metric is recomputed from your raw records before it is accepted, and the finding list on your result page tells you exactly what passed.

If something fails

An out-of-memory failure on a 12 GB card is a legitimate result and is worth submitting: it records that this profile does not fit that configuration, which is information the leaderboard needs. The runner marks the workload failed rather than silently retrying with different settings.

Report problems atgithub.com/pavel4ai/localmax.net/issueswith the run ID.