NVIDIA and AMD · one signed report per server · verify it anywhere

A credit score
for every GPU server

SiBIL measures a server, scores it from 300 to 900, and signs the result. Buyers see whether a box fits their workload before they rent it. Providers prove what they sell. Nobody can edit the number.

$curl -fsSL https://sibil.dev/install.sh | sudo sh -s -- <token>

Most teams find out
after the invoice

A spec sheet lists the GPU. It does not list the PCIe link that trained down to x8, the 16 vCPUs that feed the card, or the host RAM that is smaller than the GPU memory. Buyers, renters and lenders find these defects after they pay.

Report / race-h200 / gpu0● 66 % fed
B4 feed · CPU-fed rate vs on-GPU rate
on-GPU686.9 TF
CPU-fed0.66
minimum0.85
host 16 vCPU · 126 GiBidle third, every job
The box around the GPU

The GPU is fine. The host isn’t.

An H200 that reaches its full reference compute, on a host that keeps it busy 66 % of the time. Every job on this server pays for the idle third.

Listing / 8× GPU / pcie◻ listed vs measured
Same server, two stories.
linkGen5 x16Gen4 x8
root port1 per GPU4 GPUs share one
power limit700 W500 W
host RAM2 TB512 GB, 4 of 12 ch
hard flag B1 link trainedscore capped at 599
Spec sheet ≠ delivered

Listings don’t show defects

Links that train down to Gen3 or x8. Eight GPUs behind one root port. A power limit below the SKU. A PCIe card sold as SXM. None of it is in the listing. All of it is in one run.

Proof / who ran it◻ 3 sources
Can the buyer check the number?
  • screenshot of nvidia-smianyone edits
  • vendor PDFprovider picks the day
  • SiBIL reportsigned · verify.py
sig ecdsa-p256-sha256key 67c7762dc90ca121
Numbers you can check

Benchmarks you take on faith

Provider-run numbers come from a run the provider chose, on a day the provider chose. A rating only counts when the seller cannot edit it and the buyer can verify it.

One run, one number, one signature

The agent

A small agent runs a versioned suite on the server and sends the signed results over ClutchCall MoQT. The backend verifies the proof, scores the server, and signs the report.

01

Inventory

CPU, memory channels, every PCIe link, every GPU and NIC. A hardware ID that changes when a part changes, so a swapped card shows up.

02

Measure

Native tests for CPU, memory and storage. GEMM, copy bandwidth and the feed test on the GPU. The CPU re-adds GPU tile sums, so a faked run fails the proof.

03

Score

Performance asks whether each part is as good as its reference. Balance asks whether the parts fit together. The weaker one sets the score.

04

Sign

The node signs the raw bundle. The backend verifies, scores and countersigns. A share link and a one-file verify.py check it anywhere.

Inventory / race-h200● enrolled
hwid SC1-QZYG-ET8V-G33Y-KKCN
cpuAMD EPYC 9004 · 16 vCPUno reference yet
memory126 GiB< GPU memory
gpu0H200 NVL · 141 GBGen5 x16 trained
power600 W limit= SKU TDP
identity matches enrolmentparts_changed · none
Run / r-539393fadbabca97◻ spot · suite 2026.11.0
$ sibil-agent run --type spot
  • ✓ sibil-gemm bf16 n=8192686.9 TFLOPS
  • ✓ proof check · tiles 0,0 3,72 / 2 exact
  • ✓ sibil-copybw h2d57.2 GB/s
  • ! sibil-feed cpu→gpu0.66 of on-GPU
  • ✓ memory stream0.995 of ref
  • › bundle signed · sent over MoQT0.2s
Score / race-h200◻ provisional
767/ 900
performance P0.999
balance B0.779
300 + 600 × min(P, B)767
  • B1PCIe link trained32 GT/s x16 of x16
  • B2Link bandwidth57.2 of 53.0 GB/s
  • B4Feed66 % of on-GPU rate
  • B5CPU per GPU16 cores, 8 needed
  • B6Host memory126 GiB vs 140 GiB
  • B10Power limit600 W of 600 W
Report / r-539393fadbabca97● signed
sig_algecdsa-p256-sha256
key_id67c7762dc90ca121
payload8c25020a69b159ef16820a97e08139c92dec0d1…
valid30 days · spot check
$ python3 verify.py report.jsonOK · score 767

The right job
for the box

Workload fit

Fit before you rent

A weak host with good GPUs is a bad training server and a fine inference server. Each report scores eight workload classes from 0 to 100, so a buyer or a scheduler asks for the servers that fit the job.

Lifecycle

Keep, repurpose, refurbish, retire

Every run adds a point to the history of the server. A flag with a known fix becomes a refurbish line with the part to change, and the next run shows the gain.

Fit / race-h200 / score 767● refurbish
  • Fine-tuning74
  • LLM inference66
  • HPC simulation43
  • Rendering, transcode37
  • Vision / audio training33
  • LLM training18
  • Database, cache10
  • CPU batch, CI9
Advice · refurbish
  • B6 host memoryfill RAM to ≥ 141 GiB
  • B4 feedmore cores per GPU, or move to inference
  • cpu not ratedEPYC 9004: reference pending
next run shows the gain, before and after, signed

Whether you sell the box
or rent it

Renting? See the score
before you pay.

Find / llm_inference◻ fit ≥ 60
  • fra-2 · 8× H200812 · fit 88
  • race-h200767 · fit 66
  • sjc-1 · 8× H100599 · B1 hard

Selling? Prove it with a badge
you cannot edit.

SiBIL812A
signed 29 Oct 2026spot checks at random

Lending, or buying used?
Read the signed history.

History / node-19◻ 6 runs
  • Mar · certification834
  • Jul · B9 sustain drift781
  • Aug · fans replaced829

Built for fleets, not demos

One line installs the agent. It idles until a run is due, needs no sudo after install, and reaches the backend from behind NAT. Nothing about how you run your servers has to change.

Install

One line, one token

The line at the top of this page. A fleet token enrols many servers, and an image can carry the token for first boot. Root work goes through a small systemd socket with a peer check, so the agent itself never runs as root.

Transport

Over QUIC, through NAT

Results travel over ClutchCall MoQT. A lost link delays a report; it never loses one. No inbound port, no VPN.

Updates

A suite you can pin

The test suite is versioned and TUF-signed. Every report names the suite and the score model that produced it, so two servers compare only on the same version.

Vendors

NVIDIA and AMD, one source

The GPU tools build from one source for CUDA and ROCm. The balance rules do not care who made the card.

Trust

Proof of work in the run

The GPU returns tile sums the CPU checks. A nonce ties the run to the schedule. A replayed or edited bundle gets no score.

Explained

Every flag shows its reason

Each flag names the rule, the measured value and the threshold. See why a server lost points, and which part to fix.

Rate your first server

Install the agent on one box. Get a signed report with a score, the flags, and the workload fit. Bring the server you are not sure about.