diff --git a/docs/analysis/class-v6/rows/x0-5090-20261009.md b/docs/analysis/class-v6/rows/x0-5090-20261009.md new file mode 100644 index 000000000..6193a62de --- /dev/null +++ b/docs/analysis/class-v6/rows/x0-5090-20261009.md @@ -0,0 +1,26 @@ +# X0 decider: class v4 against the frozen class v6 on one rented RTX 5090 (9 October 2026, 08:54 to 08:57 UTC) + +One session, one card: a rented RTX 5090 (32 GB, driver 580.105.08, the provider's CUDA 12.8 image), the gen-6 Linux CUDA +worker (sha256 `804a6f7f…`, built from the frozen tree's proto-cuda), 250 batches of 2^24 at `--block-warps 1` per pack, nvidia-smi +board power at 1 Hz, watts = the mean of `power.draw` from 8 s in to the end of the bench, idle not subtracted. Stock only: the +provider refuses `-lgc` ("The current user does not have permission to change clocks"), as every rented host of 8 October did. + +| Pack | Class | Id | MH/s | W | nJ per hash | Fingerprint | Check | +|---|---|---|---|---|---|---|---| +| v4-devnet-epoch0 (the 7 October numerator's pack) | mx8-erad810f22d+sh256x27, generator 4 | `0xa785001687d8688a` | 141.963 | 500.0 (the card's power limit) | 3,522 | `e370fb2080b7dbb1` | PASS | +| hl-v6-all (the l8off kit's export, the house knee rows' pack) | mx8-erad810f22d+sh256x27+state+reg64c+fold+rw | `0x9d40978601a7df2a` | 70.900 | 445.1 | 6,278 | `59e6708e46f1e87c` | PASS | +| hl-v6-all-cs (the signing object) | the same class, generator 6 | `0x2a1d6caab4c24564` | 70.650 | 457.1 | 6,470 | `01f51b9d4805e5e6` (first CUDA read) | PASS | + +Ratios, class v6 over class v4: joules per hash 1.78x (the kit pack) and 1.84x (the signing object); rate 2.00x (the frozen +class draws twice the loads per hash). The house rig's RTX 5090 reads the same pair at 1.68x at stock (3,475 against 5,842 nJ, +the 7 October grid against the 9 October knee rows) and 1.73x at the 1,300 MHz knee (2,319 against 4,011), so across three +sessions the figure is 1.7 to 1.8x. + +Meaning: class v6 costs the 5090 about 1.75x class v4's joules per hash and half its rate, so the 7 October numerator (2.33 µJ +per hash at the lock on class v4) understates the frozen object's card cost by about 1.7x; the board ratio moves toward the +2.6x side of the X0 order, and the chip's shadow op count is to be re-read on the class v6 draw (its window, index fold and +re-weight add card cost the class v4 count does not carry). The only lock row for the frozen object is the house 5090's +4.01 µJ per hash (the 9 October knee rows). + +Evidence: build-1 `/srv/artefacts/tas/x0-pins/x0-run-fk-5090c/` (run-x0.log `9bc40685…`, smi.csv `7ab9f16f…`, the three bench +logs; SHA256SUMS.txt beside them); the bundle `x0-bundle.tgz` (`864470a7…`) with the run script. diff --git a/docs/ops/build-queue.md b/docs/ops/build-queue.md index cb101a175..623991804 100644 --- a/docs/ops/build-queue.md +++ b/docs/ops/build-queue.md @@ -13,18 +13,21 @@ build-1:/srv/queue/build-queue.md (the reader reads that one; this file is its s - An entry carries its owner lane, its box, its pid-file path and its clock (UK). A box with no live pid file from its queue and a load under 1.0 for a 30-minute read is a fault, reported by the reader to the coordinator (/srv/queue/faults.log). - A lane that finishes an entry replaces it with the next or hands the box back here with a line; an empty box is the fault. +- Main's rule (9 October 2026, 09:5x UK): an owner starts its matrix job on its box under /srv/queue/pids within 15 minutes of a read that + found the box idle, or the reader marks the box unclaimed (open to any lane, written in status.json and faults.log); a box idle for + 30 minutes is a red against its owner on the steward's board. A shared box names every owner and none ends another's pid. ## Owners (one lane per box) | box | threads | owner lane | standing use | |---|---|---|---| | build-1 | 96 | build-server lane | cuts and kits, the hands (observer-node, node1), the capacity fuzz slices, the workers page, the queue reader | -| build-2 | 96 | site lane | the site gate (Playwright), the scene-parity suites; spare slots for the node lane's suites | +| build-2 | 96 | site lane and the adversary lane (shared; neither ends the other's pid) | the site gate (Playwright), the scene-parity suites; X5's dram design beside them | | build-3 | 32 | node lane | the long consensus fuzz and property suites (kaspa-consensus, kaspa-consensus-core) | | build-4 | 96 | adversary lane | the chip model (OpenROAD, kepler-formal): the 20 to 25 percent floorplan for the converged SPEF row | -| build-5 | 32 vCPU | research lane | TV-02's two independent supply-replay implementations, CPU only | -| build-6 | 32 vCPU | HEAL lane | the long p2p and exec property suites (kaspa-p2p-flows, igneum-exec) | -| build-7 | 96 | node lane | the 2.0.3 flows items: their suites and known-failed tests; the heal-on harness | +| build-5 | 32 vCPU | adversary lane (X5 hyb50), the TV-02 lane a light guest for minutes | X5's opponent-sweep variant; TV-02's last comparison run beside it (one core, under five minutes) | +| build-6 | 32 vCPU | adversary lane (X5 hyb75) and the HEAL lane (shared) | X5's opponent-sweep variant; the long p2p and exec property suites (kaspa-p2p-flows, igneum-exec) | +| build-7 | 96 | node lane and the relay lane (shared; neither ends the other's pid) | the 2.0.3 flows items: their suites and known-failed tests; the heal-on harness; the standing Windows canary VM (docker winvm, 4 vCPU, 8 GB, /srv/winvm/up.pid) | | build-8 | 96 | fleet lane | 2.0.3 kit canaries the moment a chain moves; the heal-off harness; the dn4 roll node | | build-9 | 96 | steward | the board's rows that need only a box (ZKP, EVM, VER fixtures), the pow fuzz on the side | @@ -36,11 +39,12 @@ build-1:/srv/queue/build-queue.md (the reader reads that one; this file is its s | 2 | long fuzz and property suites, consensus (kaspa-consensus, kaspa-consensus-core) | node lane | build-3 | /srv/queue/pids/build-3-consensus-fuzz.pid | from 09:45, continuous | | 3 | long fuzz and property suites, exec and p2p (igneum-exec, kaspa-p2p-flows, kaspa-p2p-lib) | HEAL lane | build-6 | /srv/queue/pids/build-6-exec-p2p-fuzz.pid | from 09:45, continuous | | 4 | long fuzz and property suites, pow (kaspa-pow, igneum-pow mixer and scratch) | node lane | build-9 | /srv/queue/pids/build-9-pow-fuzz.pid | from 09:45, continuous | -| 5 | TV-02: two independent supply-replay implementations, CPU only | research lane | build-5 | /srv/queue/pids/build-5-tv02-replay.pid | from 10:00, until both agree | +| 5 | TV-02: two independent supply-replay implementations, CPU only: DONE 09:35 UK (A on build-5 in 38 s, B on build-6 in 3 min); the last comparison on the TV-01 spec runs as a guest under build-5-tv02.pid and build-6-tv02.pid by 11:30 | TV-02 lane | build-5, build-6 | /srv/queue/pids/build-5-tv02.pid, build-6-tv02.pid | by 11:30, minutes | | 6 | chip model: the 20 to 25 percent floorplan for the converged SPEF row (about four host-hours) | adversary lane | build-4 | /srv/queue/pids/build-4-floorplan.pid | running (OpenROAD 844081, kepler-formal 1797623), about 13:30 | | 7 | the board's rows that need only a box: ZKP, EVM and VER fixtures (the steward names them) | steward | build-9 | /srv/queue/pids/build-9-board-rows.pid | from 10:00, by row | | 8 | 2.0.3 kit canaries the moment a chain moves (the evidence kits under /srv/workers/fleet) | fleet lane | build-8 | /srv/queue/pids/build-8-kit-canary.pid | on the chain's move | | 9 | the site gate and the scene-parity suites | site lane | build-2 | /srv/queue/pids/build-2-site-gate.pid | on each landing | +| 11 | the standing Windows canary VM on build-7 (docker winvm; its collector posts to the intake as the Windows canary card) | relay lane | build-7 | /srv/queue/pids/build-7-winvm.pid (mirrors /srv/winvm/up.pid) | from 10:00, standing | | 10 | cuts, kits, the hands, the capacity fuzz slices, the workers page, the queue reader | build-server lane | build-1 | /srv/queue/queue-reader.pid and the cut pid files under the cutter's scratch | continuous | A lane starts its entry by writing its pid file (`