igneum/bench/proof-systems
2026-10-06 12:56:07 +00:00
..
rows bench/proof-systems: the Mac RISC Zero rows (CPU HAL: the v1 shard 574 s at po2 20 and 10.2 GB RSS, 699 s at po2 19 and 8.0 GB; the empty shard 46 to 49 s at 7.9 GB; receipt 223,882 B, verify 0.21 s) 2026-10-06 12:44:55 +00:00
README.md bench/proof-systems: the fixtures named right (block-338-shard1 is the prototype full shard, the empty shard is block-72854) 2026-10-06 12:06:18 +00:00
run.sh bench/proof-systems: a failed run keeps its logs beside the row, labelled rows do not overwrite each other 2026-10-06 12:56:07 +00:00
TABLE.md bench/proof-systems: the Mac RISC Zero rows (CPU HAL: the v1 shard 574 s at po2 20 and 10.2 GB RSS, 699 s at po2 19 and 8.0 GB; the empty shard 46 to 49 s at 7.9 GB; receipt 223,882 B, verify 0.21 s) 2026-10-06 12:44:55 +00:00
table.mjs bench/proof-systems: run.sh portable (GNU time on Linux, host and out paths, a row label, the patched server's HOME), the table keys on the label and fixture 2026-10-06 11:56:22 +00:00

Proof-system watch

One fixed shard, every candidate, one row each. The row says what a 12 GB card and a phone verifier would see; the quarterly run says what moved.

The fixed shard

Three fixtures, shard 0 of each: proving/fixtures/fees-v1-shards2.json (the adopted shard size S_p, 4,717,439 SP1 cycles, "the v1 shard"), proving/fixtures/block-338-shard1.json (one FULL shard at the prototype shard size, about 60 M cycles: the heaviest shard the chain ever cut; 30 GB on the stock SP1 server) and proving/fixtures/block-72854-empty-block-first.json (an empty block, "the empty shard"). The statement is igneum_prove_core::shard::shard_statement; every candidate commits the same ShardOutput bytes. The 12 GB tier is judged on the v1 shard; the prototype shard is the ceiling, not the gate.

The candidates and how each is run

Candidate Binary How Recursion Audit
SP1 stock 6.8.1 (Hypercube: SP1 6.x is the Hypercube prover, docs/analysis/proving-methods.md 1.1) proving/igneum-prove/target/release/igneum-prove-host --mode compressed --shard 0, SP1_PROVER=cpu on the Mac, cuda on PC 2 yes (compressed, aggregator guest) yes (KALOS, Cantina, Zellic, Veridise; docs/plans/funding.md 2a)
SP1 patched server (the prover-floor agent's v3/v4 build) the same host, ~/.sp1/bin/sp1-gpu-server replaced PC 2 only (HOME=/opt/igneum-floor/home); n/a on the Mac (no CUDA) yes the server fork is not audited; the guest and verifier are the stock ones
SP1 Hypercube separate release n/a the stock row is the Hypercube prover; no separate release exists to run
RISC Zero (proof system 2) proving/igneum-prove-r0/target/release/igneum-prove-r0-host --mode compressed --shard 0, Metal on the Mac, CUDA on PC 2 yes (succinct receipt; composition for an aggregator) yes (Veridise, Hexens; funding.md 2a)
Jolt n/a no guest for our shard, no shipped recursion, no Metal release used here (proving-methods.md route F): n/a until a guest is written no no

The row

rows/<date>-<machine>-<candidate>.json: candidate, machine, backend (cpu|cuda|metal), fixture, shard, cycles, wall_s, prove_s, peak_memory_mib (max RSS on the Mac; nvidia-smi memory.used on a CUDA box), proof_bytes, verify_s (one core), recursion, audit, verified (by the pinned verifier), command, source. node table.mjs renders every row into the table below. A cell that was not measured says n/a and why.

Latest table

(rendered by node bench/proof-systems/table.mjs > bench/proof-systems/TABLE.md)