igneum/bench/proof-systems
2026-10-06 11:57:57 +00:00
..
rows bench/proof-systems: the first Mac rows (SP1 stock on the M5 Max CPU: 4,717,439 cycles, 71.7 s, 27,821 MiB RSS, 1,272,897 B, verify 0.258 s; sp1-patched and jolt n/a with the reason) and the table 2026-10-06 11:55:11 +00:00
README.md proving v2: the harness gains --v2 <daa> (case 5: both proof systems and the switch; version 3 and version 2 records refused before, paid from it, an SP1 fresh chain after a system 2 segment), the fast-time file carries the switch; bench/proof-systems: the proof-system watch (run.sh one row per candidate, table.mjs, README) 2026-10-06 11:51:19 +00:00
run.sh bench: run.sh --patched-env; the PC 2 bench job A script (SP1 stock and patched, default and 2^26, beside the miner) 2026-10-06 11:57:57 +00:00
TABLE.md 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
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

proving/fixtures/fees-v1-shards2.json, shard 0 (the adopted shard size, S_p; 2 shards in the block) and proving/fixtures/block-338-shard1.json, shard 0 (an empty shard). The statement is igneum_prove_core::shard::shard_statement; every candidate commits the same ShardOutput bytes.

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)