diff --git a/packaging/linux/README.md b/packaging/linux/README.md index 99d1663a0..27c4b697d 100644 --- a/packaging/linux/README.md +++ b/packaging/linux/README.md @@ -77,8 +77,8 @@ Logs are journald only: `journalctl -fu igneum-miner@nvidia0`. | Rule | Value | Source | Consequence per tier | |---|---|---|---| | Identities per card | 8 for 8 GiB or more (or unknown), else 2; `IDENTITIES=N` overrides | `app/igneum-app/src/detect.rs` (proving-v1), the app's rule; the HiveOS README's "8 for a big card, 2 for a small one" now has its threshold | an 8 GB card runs 8 vote keys; a 6 GB card 2 (fewer blue blocks per key, the same hashrate) | -| Prover on by default | NVIDIA card with 11,776 MB or more (the 12 GB gate), the biggest card proves; `PROVER=on` or `off` wins | `app/igneum-app/src/provedefault.rs` (proving-v1); the brief said 16 GB, the branch's constant is 12 GB and is what the app ships, so the rig follows the branch and the line below handles the difference | 8 GB: off. 12 and 16 GB: on, with the miner paused per shard. 24 and 32 GB: on, mining and proving at once. AMD and Intel: off (no CUDA prover) | -| Mine and prove on one card | 20,480 MB or more; under it the card's miner stops for each shard (`PROVER_PAUSE_MINER=auto`; `always` and `never` force it) | `docs/bench-log.md` on proving-v1, "Step 1, the prover default and its cost": 15.6 GB measured for the miner and the prover together on one card | a 16 GB card loses its hashrate for the shard's duration (10.9 s of proving on a 5090 for one shard, bench-log; the pause is the whole export-cut-prove-sign round, longer); a 24 GB card loses nothing | +| Prover on by default | NVIDIA card of the 16 GB tier or more (`PROVER_MIN_VRAM_MB` 15,872, that is 16,384 minus the 512 MB slack the app's old 12 GB gate used), the biggest card proves; `PROVER=on` or `off` wins | the proving agent's memory sweep of 5 October 2026 (job memsweep-pc2-pv1: 13.9 GB for an empty shard, 28.3 GB for a full prototype shard on sp1-gpu-server 6.8.1, no SP1 knob moves the floor), which set `provedefault.rs` on proving-v1 to 16 GB prove-only and 20 GB mine-and-prove; the v1-budget shard (about 7 M cycles) is measured next and may move both | 8 and 12 GB: mine only (a 12 GB card cannot prove on this build, miner paused or not). 16 GB: on, with the miner paused per shard. 24 and 32 GB: on, mining and proving at once. AMD and Intel: off (no CUDA prover) | +| Mine and prove on one card | 20,480 MB or more; under it the card's miner stops for each shard (`PROVER_PAUSE_MINER=auto`; `always` and `never` force it) | the same sweep (15.6 GB for the miner and the prover together was the earlier bench-log figure, "Step 1, the prover default and its cost") | a 16 GB card loses its hashrate for the shard's duration (10.9 s of proving on a 5090 for one shard, bench-log; the pause is the whole export-cut-prove-sign round, longer); a 24 GB card loses nothing | | RAM | 8 GB to mine, 16 GB to prove (warning, not failure) | 2.3 GB inside WSL2 on PC 1 (5 October 2026), the rest approximate | a 4 to 8 GB rig board mines; proving on it is a warning until measured on bare Linux | | SP1 GPU server | downloaded by the SDK on the first `SP1_PROVER=cuda` run into the igneum user's `~/.sp1/bin` (home is `/var/lib/igneum`) | `proving/windows-wsl2/setup-wsl.sh` (134 MB for v6.8.1; 251 MB reported for CUDA 12.8; both approximate) | the first proof waits for the download; the 20 GB free-disk check covers it | | Sync wait | 3600 s cap, miners start at `synced=true` | PC 1 under WSL2, 5 October 2026: miners started during IBD rebuilt their pack on every epoch seed move | a fresh rig mines 5 to 8 min after the node starts on the devnet (runs 2 to 4 of the HiveOS test); longer on a bigger chain | diff --git a/packaging/linux/bin/igneum-rig-lib.sh b/packaging/linux/bin/igneum-rig-lib.sh index 722565803..722146ef7 100755 --- a/packaging/linux/bin/igneum-rig-lib.sh +++ b/packaging/linux/bin/igneum-rig-lib.sh @@ -38,7 +38,7 @@ have() { command -v "$1" >/dev/null 2>&1; } # rig.conf is KEY=VALUE, written once by install-rig.sh. Defaults first, then the file, then the derived values. load_conf() { WALLET=""; RIG_NAME="rig"; NETWORK="devnet"; PEERS=""; DEV_FEE=1; IDENTITIES=auto; VOTE=1; EXTRA="" - PROVER="auto"; PROVER_MIN_VRAM_MB=11776; PROVER_MINE_AND_PROVE_MB=20480; PROVER_PAUSE_MINER=auto; PROVER_CARD="" + PROVER="auto"; PROVER_MIN_VRAM_MB=15872; PROVER_MINE_AND_PROVE_MB=20480; PROVER_PAUSE_MINER=auto; PROVER_CARD="" SYNC_WAIT=3600; TELEMETRY_SECS=5 RELAY_INTAKE_URL=""; RELAY_KEY_FILE="$IGNEUM_ETC/log-intake-key"; PACKAGE_SOURCE="signed" if [[ -f "$RIG_CONF" ]]; then @@ -244,12 +244,14 @@ card_labels_with_identities() { # -> one label per vote key else printf '%s\n' "$base"; fi } -# The prover default (app/igneum-app/src/provedefault.rs on branch proving-v1, 5 October 2026): on for an NVIDIA -# card at or above MIN_VRAM_MB = 11,776 (the 12 GB gate, spec 5.1), off otherwise; the biggest qualifying card -# proves. Whether that card keeps mining while it proves: docs/bench-log.md on that branch ("Step 1, the prover -# default and its cost") measured 15.6 GB for the miner and the prover together on one card, so a card with -# PROVER_MINE_AND_PROVE_MB (20,480; a 24 GB card) or more mines and proves at once and a smaller one has its miner -# paused for each shard (PROVER_PAUSE_MINER=auto; always|never force it). PROVER=on|off in rig.conf wins over auto. +# The prover default (app/igneum-app/src/provedefault.rs on branch proving-v1, as the proving agent's memory sweep +# of 5 October 2026 set it, job memsweep-pc2-pv1: 13.9 GB for an empty shard and 28.3 GB for a full prototype shard +# on sp1-gpu-server 6.8.1, no SP1 knob moves the floor): on for an NVIDIA card of the 16 GB tier or more +# (PROVER_MIN_VRAM_MB 15,872 = 16,384 minus the same 512 MB slack the app's 12 GB gate used; a 12 GB card mines +# only), off otherwise; the biggest qualifying card proves. A card at PROVER_MINE_AND_PROVE_MB (20,480, the 20 GB +# line: 24 GB and up) or more mines and proves at once; a 16 GB card has its miner paused for each shard +# (PROVER_PAUSE_MINER=auto; always|never force it). The v1-budget shard measurement may move both numbers again. +# PROVER=on|off in rig.conf wins over auto. prover_decision() { # prints "on " or "off " local best="" best_mb=0 best_name="" line mb vendor card name mode while read -r line; do diff --git a/packaging/linux/install-rig.sh b/packaging/linux/install-rig.sh index 2411fde0d..fcf42e0ec 100755 --- a/packaging/linux/install-rig.sh +++ b/packaging/linux/install-rig.sh @@ -244,7 +244,7 @@ IDENTITIES=$IDENT_ARG VOTE=1 EXTRA= PROVER=$PROVER_ARG -PROVER_MIN_VRAM_MB=11776 +PROVER_MIN_VRAM_MB=15872 PROVER_MINE_AND_PROVE_MB=20480 PROVER_PAUSE_MINER=auto PROVER_CARD=