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 doctor2. 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.
| Profile | Tier | Min VRAM | Model | Download | Run time |
|---|---|---|---|---|---|
| diffusion-enthusiast-base | Enthusiast · BF16 | 24 GB | 8B bf16 | 17 GB | ~14 min |
| diffusion-entry-base | Entry · BF16 | 12 GB | 4B bf16 | 7.0 GB | ~14 min |
| diffusion-frontier-base | Frontier · BF16 | 64 GB | 12B bf16 | 24 GB | ~14 min |
| llm-enthusiast-base | Enthusiast · BF16 | 24 GB | 8B bf16 | 16 GB | ~14 min |
| llm-entry-base | Entry · BF16 | 12 GB | 4B bf16 | 8.0 GB | ~14 min |
| llm-frontier-base | Frontier · BF16 | 64 GB | 32B bf16 | 64 GB | ~14 min |
| vision-enthusiast-base | Enthusiast · BF16 | 24 GB | 8B bf16 | 17 GB | ~14 min |
| vision-entry-base | Entry · BF16 | 12 GB | 4B bf16 | 9.0 GB | ~14 min |
| vision-frontier-base | Frontier · BF16 | 64 GB | 32B bf16 | 66 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
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.