Merge branch 'ledger-pc2' into fud-close
This commit is contained in:
commit
29c3f86c02
4 changed files with 175 additions and 17 deletions
|
|
@ -1861,3 +1861,23 @@ Owner: the ledger-pc2 agent. Fork branch `ledger-fixes-2` (worktree `vendor/igne
|
|||
Two artefacts of the fast profile worth one sentence each. The flag flickers to `paused` for 0.6 s at every checkpoint determination (00:26:19.5 determined, 00:26:20.1 locked: with presence window 1 the test `latest lock + window >= next index` fails for the gap), which showed on tx1 at 197.7 as a one-pass `finality paused`; at mainnet's window of 240 the gap is invisible. The 1-block selected-chain reorg is routine at 1 block/s with 50 ms links (20 on n0 in 7 minutes), so `reorged out` is a transient of about 2 s whenever the unwound block is merged again by the next chain block; a wallet treats it as final only after the merge depth, as design 2.3 says.
|
||||
|
||||
Consequences. For a wallet or exchange: the one word is now in the RPC and `finalized` never names the tip; the pause shows as "finality not active" with the certificate still binding. For the pool: a reorged-out transaction is dropped from the node's view and must be resent (the pool owns no reorg hook; an item for the execution engineer, not changed here). Owed: the `proven` transition on a network with the proving loop; the phone app and the explorer still show the three words of phone-app 3 and 9 and need the `state` field (ledger X-side, not this round).
|
||||
|
||||
**The PC 2 run (job `m16-inline-pc2-1`, machine 1ccfe586, RTX 5090, driver 13.3, NVRTC 12.8, target sm_120 SASS, app 0.3.11; published 00:38:15Z, done exit 0 at 00:43:17Z, 263 s; report `proto-cuda/inline-bench/job-m16-inline-pc2-1.log`).** The card was taken whole: the app's miners paused and the prover switched off at 00:38:55Z (settings.json before: prove true, paused false; both restored at 00:43:06Z and read back the same), `nvidia-smi` before the first window at 66 W, 5% utilisation, 2,065 MiB used; the compute-apps list held only Windows shell processes (explorer, ShellHost, StartMenuExperienceHost and one system pid without permission to name), no miner and no prover, so nothing shared the card. The three checks passed on the card exactly as on the Mac (96 of 96 lanes against the pack's vectors for the honest and the inline-256 kernels; 8,288 and 8,960 lanes stored-twin == recomputed at 64 and 32 MiB in the two passes). Compile under NVRTC: kernel_bound.cu 40 ms, kernel_inline.cu 641 ms; registers 28 honest, 48 inline; 1 GiB dataset built in 13.9 ms (1,209 M items/s, the 3 October figure again). Timing: 15 s per setting, batches of 2^22 nonces, the first launch of each window discarded, rate = hashes / wall seconds; the draw line is the median of 7 `nvidia-smi` samples 2 s apart inside the window (E17), with the first sample of each window still showing the previous setting's draw.
|
||||
|
||||
| Setting (pass 1, 1 warp per block) | Cache touched | Mhash/s | Ratio to honest | Power draw, median W | SM clock MHz | Temperature C | Utilisation |
|
||||
|---|---|---|---|---|---|---|---|
|
||||
| honest, the 1 GiB dataset | 1,024 MiB + the 256 MiB cache idle | 132.20 | 1.000 | 326.6 | 3,060 | 50 to 54 | 100% |
|
||||
| inline, 256 MiB cache (VRAM) | 256 MiB | 11.26 | 0.085 | 415.7 | 3,052 | 54 to 61 | 100% |
|
||||
| inline, 64 MiB mask (inside the 96 MiB L2) | 64 MiB | 33.88 | 0.256 | 431.0 (the card's power limit) | 2,835 | 61 to 67 | 100% |
|
||||
| inline, 32 MiB mask | 32 MiB | 33.87 | 0.256 | 431.0 | 2,827 | 67 to 70 | 100% |
|
||||
|
||||
| Setting (pass 2, 8 warps per block) | Mhash/s | Ratio to honest | Power draw, median W | SM clock MHz |
|
||||
|---|---|---|---|---|
|
||||
| honest | 131.15 | 1.000 | 346.9 | 3,037 |
|
||||
| inline 256 MiB | 10.89 | 0.083 | 431.0 | 2,992 |
|
||||
| inline 64 MiB | 29.32 | 0.224 | 431.0 | 2,857 |
|
||||
| inline 32 MiB | 29.46 | 0.225 | 431.0 | 2,850 |
|
||||
|
||||
Reading. (1) The honest rate, 132 Mhash/s for a version-2 program (128 loads per hash), sits beside the 141 projected for version 2 in the census and the 124 the live devnet's worker shows under the app; the 229 of 3 October was a version-1 program with 104 loads. (2) The inline kernel at the 64 MiB and 32 MiB masks runs at one rate, 33.9 Mhash/s, and the 256 MiB mask at a third of it: the L2 holds the smaller working sets and VRAM serves the full cache, so 33.9 is the rate with the cache in SRAM-class memory. That is the "50 T op/s" row of the cost model measured: the recompute attacker on this silicon reaches 0.256 of the honest rate, not the 1.5x (against 229) or 2.4x (against 141) the integer budget alone allowed. Per hash the inline path does 128 items x (9 mixers + 8 dependent 64-byte L2 reads): 33.9 M hash/s is 34.7 G dependent line reads per second (2.2 TB/s of L2 line traffic) and about 39 G mixer applications per second, roughly 6 T integer operations per second against the card's 50 T (approximate): the dependent read chain, 1,024 serial L2 latencies per hash, bounds it, not the arithmetic. (3) The equal-silicon gain is therefore 0.26x before any fixed-function factor; with the 3x factor the model took as approximate, about 0.8x; the model's "3x to 6x at equal die area" becomes about 0.8x to 1.5x, and that is before the SRAM's own area (100 to 300 mm^2 for 256 MiB, approximate) is paid. (4) Per joule: honest 132 Mhash/s at 327 W is 0.40 Mhash/J; inline-64 at the 431 W power limit (the clocks fell from 3,052 to 2,835 MHz under it) is 0.079 Mhash/J, 5.1x worse. (5) 8 warps per block cost the inline kernel 13% (48 registers, 5 resident blocks per SM against 6) and the honest kernel nothing; the worker's race picks the block size per card, so pass 1 is the number.
|
||||
|
||||
Consequences (the standing rule). For every GPU tier (one 8, 12, 16, 24 or 32 GB card, a rig, a pool user, on NVIDIA; AMD and Apple unmeasured on this kernel): the SRAM-recompute attacker the ledger entry describes is slower than the honest card on the card's own silicon by 3.9x and worse per joule by 5.1x at the current parameters (256 MiB cache, 8 reads per item, 9 mixer applications), so no tier is exposed to it beyond the approximate fixed-function factor, which lands near 1x. What the number does not settle: a chip's own dependent-SRAM latency (a die with the SRAM beside the ALUs could cut the 1,024-read chain; approximate, unmeasured), the O-1.6 partial-store curve, and any mixer shortcut. The lever stands as the model says: doubling the mixer cost (13.4 to 27 ms of daily build, 0.8 to 2.4 ms per warp to verify) halves the attacker's 0.26x again at zero honest cost. Decision at gate 1 (the project lead): whether to spend one doubling now. For the Mac: the Metal inline figure (MEMHARD.md 2.2, 4.8x to 10x slower with the cache in DRAM) and this one agree in direction; the Apple L2 point is not measured. Owed: the same kernel on the RX 9070 XT through OpenCL (the AMD tier, PC 1 when it is back), the inline kernel's register and spill profile, the O-1.6 curve.
|
||||
|
|
|
|||
|
|
@ -1188,7 +1188,7 @@ Evidence: the files and lines above. Fix: review's first of five. Review id R3.2
|
|||
### M16. The 256 MiB cache fits on a die, so the recompute attacker is compute bound
|
||||
"Your 4.8x-slower shortcut ran with the cache in DRAM behind a chip that cannot hold it. Put 256 MiB of SRAM on a die and the dataset is never needed: 128 items per hash at about 1,170 integer operations and 8 near-free reads each. That is 150,000 operations per hash, and integer operations per dollar is where silicon beats a GPU."
|
||||
|
||||
Status: Open, the kernel written and bit-exact on the Mac, the PC 2 run queued behind the 0.3.11 rollout (6 October 2026, night, ledger close round 2; the table lands in this entry and in the bench-log "ledger close round 2: M16" when the job's RESULT lines are in). Was: Open, cost model written, the on-die emulation still a PC job (5 October 2026, evening sweep). Was: Open, experiment scheduled. Sweep (5 October 2026): not runnable on this Mac; the on-die emulation needs the RTX 5090 (an inline kernel at a 64 MiB cache inside its 96 MiB L2). The only newer number is the loaded-Mac reconfirmation of 3 October (inline 17x slower at a 256 MiB cache, bench-log "R3.26 / M15", M16 note), which does not price a die. Hardware item.
|
||||
Status: Answered with evidence (6 October 2026, night, ledger close round 2; bench-log "ledger close round 2: M16 the inline-cache kernel on the RTX 5090"): on the 5090 the recompute attacker with the cache inside the 96 MiB L2 (the SRAM emulation, 64 and 32 MiB masks, bit-exact against the stored construction) runs at 33.9 Mhash/s against 132.2 honest for the same version-2 program, 0.256x at equal silicon and 5.1x worse per joule (431 W at the power limit against 327 W); the cost model's "50 T op/s" row was arithmetic and the measurement puts the integer engine at about 6 T op/s on this chain, bound by the 1,024 dependent cache-line reads per hash. Open for gate 1: a die's own SRAM latency (approximate), the O-1.6 curve, the mixer doubling. Was: Open, the kernel written and bit-exact on the Mac, the PC 2 run queued behind the 0.3.11 rollout. Was: Open, cost model written, the on-die emulation still a PC job (5 October 2026, evening sweep). Was: Open, experiment scheduled. Sweep (5 October 2026): not runnable on this Mac; the on-die emulation needs the RTX 5090 (an inline kernel at a 64 MiB cache inside its 96 MiB L2). The only newer number is the loaded-Mac reconfirmation of 3 October (inline 17x slower at a 256 MiB cache, bench-log "R3.26 / M15", M16 note), which does not price a die. Hardware item.
|
||||
|
||||
Sweep (5 October 2026, evening): `docs/analysis/m16-recompute-attacker-2026-10-05.md` prices the device from the specification and the measured rates. Per hash the attacker recomputes 128 items at 9 mixer applications of about 130 operations and 8 dependent 64-byte cache reads each: about 150,000 integer operations and 1,024 dependent SRAM reads (65 KB). To match one RTX 5090 at its measured 229 Mhash/s the chip needs 34 T integer op/s and 15 TB/s of SRAM bandwidth beside 256 MiB of SRAM (100 to 300 mm^2 on a current node, approximate). At the 5090's own integer budget (about 50 T op/s, approximate) that is 0.33 Ghash/s: 1.5x the measured closed-form rate, 2.4x the 141 Mhash/s projected for version 2 programs, before any fixed-function factor; with a 3x factor (approximate) 3x to 6x at equal die area. The lever: the mixer cost is paid by the honest miner once a day (13.4 ms per 1 GiB on the 5090, measured) and by the attacker per hash, so doubling it halves the attacker's rate at zero honest cost, 4x puts the equal-silicon gain at 0.36x and the factored gain near 1x, bounded by the CPU verify gate (0.41 to 1.2 ms per warp today, 10 ms the gate, so about 8x of headroom on the M5 Max core). What is still unmeasured: the inline kernel on the 5090 with a 64 MiB cache inside its L2 (the SRAM emulation, a PC job), the time-memory curve of O-1.6, and any cryptanalysis of the mixer. Decision at gate 1 (owner the project lead): cache size and mixer cost against the verify gate.
|
||||
|
||||
|
|
@ -1198,6 +1198,8 @@ Evidence: spec 1.8, 1.16; `proto-metal/MEMHARD.md` 2.2 (Apple only). Experiment:
|
|||
|
||||
Round 2 (6 October 2026, night): the CUDA inline path did not exist (the shipped worker reads the dataset only; `--inline-dataset` was Metal), so it was written as a benchmark beside the worker, never inside it: `proto-cuda/inline-bench/` (`gen.py` derives `kernel_inline.cu` and `memhard_inline.h` from the pack by counted text substitution, the 16 dataset loads of the devnet-v4 epoch-0 program becoming `mhi_word(cache, x & mask, lineMask)` with the cache-line mask a kernel argument; `inline_bench.cpp` loads the driver API and NVRTC at run time as the worker does, compiles the pack's texts, runs three bit-exact checks and then fixed-time windows for honest 1 GiB, inline at 256 MiB, inline at 64 MiB (the first quarter of the cache, inside the 5090's 96 MiB L2: the on-die SRAM emulation) and inline at 32 MiB, with an `nvidia-smi` sampler per window for E17). Mac check (host threads through the project's CUDA emulation shim, build lock, 12.3 s): check 1 the pack's self-test PASS (96 of 96 lanes); check 2 the inline kernel at the 256 MiB mask equals the pack's vectors on all 96 lanes, the dataset never read (this is what proves the substitution and the derivation); check 3 at the 64 MiB and 32 MiB masks a stored dataset built at that mask and read by the honest kernel equals the recomputed path on 8,288 lanes each, and differs from the pack's vectors as a smaller cache must. The Windows exe (mingw, 355,840 bytes, sha256 2e6a21de...) and the pack with the inline texts went to the downloads host as `igneum-inline-bench-kit.zip` (202,138 bytes, sha256 80ce0290...); the PC 2 job (one `run` job, the app's miners paused and the live prover off for about 4 minutes on the card, both restored, two passes at 1 and 8 warps per block, 15 s per setting) waits on the scheduler's go behind the 0.3.11 rollout. What the number will test: the analysis's "50 T op/s" row, 1.5x the measured 229 Mhash/s and 2.4x the projected 141 at equal integer budget; the inline64 rate IS the attacker's rate on this silicon with the cache in L2, so the gain is inline64 over honest, before any fixed-function factor. The CPU fill and verify at a 1 GiB cache and the O-1.6 curve are not part of this job.
|
||||
|
||||
The PC 2 run (6 October 2026, 00:38 to 00:43 UTC, job `m16-inline-pc2-1`, the card taken whole with the app's miners paused and the prover off, both restored, nothing else on the card; the three checks PASS on the 5090 as on the Mac): honest 1 GiB 132.20 Mhash/s at 326.6 W median, 3,060 MHz; inline at the 256 MiB cache in VRAM 11.26 Mhash/s (0.085x) at 415.7 W; inline at the 64 MiB mask inside the L2 33.88 Mhash/s (0.256x) at 431.0 W, the power limit, clocks 2,835 MHz; inline at 32 MiB 33.87 (0.256x), the same rate, so the L2 plateau is the SRAM-class bound. Eight warps per block: 131.15 / 10.89 / 29.32 / 29.46. Reading: the attacker's rate with the cache in SRAM-class memory is a quarter of the honest rate on the same silicon, because the inline path runs 1,024 dependent cache-line reads per hash (34.7 G per second here, 2.2 TB/s of line traffic) and reaches only about 6 T integer operations per second of the card's 50 T (approximate): the cost model's equal-budget row (1.5x to 2.4x) assumed the arithmetic was the bound; it is not. With the model's approximate 3x fixed-function factor the equal-area gain is about 0.8x, before the 256 MiB SRAM's area is paid; the entry's "3x to 6x" becomes about 0.8x to 1.5x. Consequence for every GPU tier: no exposure to this device at the current parameters beyond that approximate factor; the mixer doubling stays the lever (halves 0.256x again at zero honest cost, 27 ms daily build, 0.8 to 2.4 ms per warp to verify) and is the gate-1 question for the project lead. Unmeasured: a die's own dependent-SRAM latency (a chip with the SRAM beside the ALUs shortens the chain; approximate), the O-1.6 partial-store curve, mixer cryptanalysis, the AMD tier (owed: the same kernel through OpenCL on the RX 9070 XT when PC 1 is back).
|
||||
|
||||
### M17. Every ahead-of-time miner stops at the epoch boundary; whoever compiles in process mines alone
|
||||
"Your log: last block of epoch 0 at 21:12:14, nothing for the next 91 seconds while the Windows launcher killed eight identities, re-exported, rebuilt two binaries and restarted them. The Metal worker compiles in 129 ms. The first 2.5% of every hour goes to whoever does not use your launcher."
|
||||
|
||||
|
|
@ -2073,7 +2075,7 @@ Evidence: session scratchpad `rt/logs/exec_b/miner_node1.log` (the template erro
|
|||
### E17. Unlogged inputs behind the economics, minor
|
||||
"The cap's 110 MH/s and its draw are not in the bench-log; the Mac's draw is not logged; the economy sim's one measured input is a 229 MH/s card against today's 124; mining-versus-pool flips from 4.9x for mining on today's devnet to 930x for proving at 10,000 cards and no document says it depends on fleet size; the app-share text omits '100,000-gas calls' and the open base unit; emission ran at up to 2x schedule; shard-scale prover cost is unmeasured on any GPU; the iGPU default off is right."
|
||||
|
||||
Status: Open, minor: the PC 2 draw lines are in the queued M16 job (one `nvidia-smi` line per setting beside its rate, sampled every 2 s inside each timed window; 6 October 2026, night, ledger close round 2), the PC 1 line and the Mac's `powermetrics` line (sudo) are owed. Was: Open, minor (the draw lines need the machines); text half stated (5 October 2026, night): `site/litepaper.html`, Building, Why build here, "a million 100,000-gas calls a day at a 1 gwei tip pays about 7,300 IGN a year, with 1 gwei taken as a billionth of an IGN (the base unit is Open)"; For miners, "Which of the two in-chain streams pays more per GPU-second depends on the size of the fleet" with the 4.9x and 930x arithmetic marked approximate. Was: Open, minor; the simulator half re-run (5 October 2026 sweep). `sim/economy/sim.py` with the 5090 class at 124 MH/s (the devnet's measured rate) in place of 229, scenarios a and b, 2 seeds, 111 s: baseline profit USD 5.59 per 5090 card-day (6.37 at 229), 3090 2.73 (1.66), 3060 1.34 (0.78), small 0.74 (0.39); under the b shock 4.52 / 2.25 / 1.46 / 0.30; no backlog, every block proven within 60 s, hash trough 75% of pre-event under b (82% at 229), 5% of cards off (10%), oscillation flag in 1 of 2 seeds. The direction is as the review said: a slower flagship card shifts income toward the smaller classes and makes the fleet more sensitive to the price shock. The draw lines (`nvidia-smi` on both PCs, `powermetrics` on the Mac) need the machines (person). Was: Open, minor (4 October 2026).
|
||||
Status: Answered with evidence for PC 2 (6 October 2026, night, ledger close round 2, bench-log "ledger close round 2: M16", the E17 columns): RTX 5090 honest 132.2 Mhash/s at 326.6 W median, 3,060 MHz, 50 to 54 C, 100% utilisation (0.40 Mhash/J); 346.9 W at 8 warps per block; the inline settings 415.7 W and 431.0 W (the power limit). Open, minor: the PC 1 line (the 9070 XT and the 5090 under the app's own cap) and the Mac's `powermetrics` line (sudo) are owed. Was: Open, minor: the PC 2 draw lines are in the queued M16 job. Was: Open, minor (the draw lines need the machines); text half stated (5 October 2026, night): `site/litepaper.html`, Building, Why build here, "a million 100,000-gas calls a day at a 1 gwei tip pays about 7,300 IGN a year, with 1 gwei taken as a billionth of an IGN (the base unit is Open)"; For miners, "Which of the two in-chain streams pays more per GPU-second depends on the size of the fleet" with the 4.9x and 930x arithmetic marked approximate. Was: Open, minor; the simulator half re-run (5 October 2026 sweep). `sim/economy/sim.py` with the 5090 class at 124 MH/s (the devnet's measured rate) in place of 229, scenarios a and b, 2 seeds, 111 s: baseline profit USD 5.59 per 5090 card-day (6.37 at 229), 3090 2.73 (1.66), 3060 1.34 (0.78), small 0.74 (0.39); under the b shock 4.52 / 2.25 / 1.46 / 0.30; no backlog, every block proven within 60 s, hash trough 75% of pre-event under b (82% at 229), 5% of cards off (10%), oscillation flag in 1 of 2 seeds. The direction is as the review said: a slower flagship card shifts income toward the smaller classes and makes the fleet more sensitive to the price shock. The draw lines (`nvidia-smi` on both PCs, `powermetrics` on the Mac) need the machines (person). Was: Open, minor (4 October 2026).
|
||||
|
||||
Answer: Correct on each point; `docs/review/round-4-2026-10-04.md` section 7 holds the arithmetic. Fix: one `nvidia-smi` draw line per setting with the rate beside it on both PCs; one `powermetrics` line on the Mac; the sim rerun at 124 MH/s with the comparison stated as a function of fleet size; "a million 100,000-gas calls a day" in the litepaper. Review ids R4.7.7 to R4.7.13.
|
||||
|
||||
|
|
@ -2081,6 +2083,8 @@ Evidence: the files above. Experiment: the three draw lines.
|
|||
|
||||
Round 2 (6 October 2026, night): the draw line rides inside the M16 job on PC 2 (`proto-cuda/inline-bench/inline_bench.cpp`, a sampler thread running `nvidia-smi --query-gpu=power.draw,clocks.sm,temperature.gpu,utilization.gpu --format=csv,noheader` every 2 s during each timed window, every sample printed with the setting's name, the median of the first field in the row beside the hash rate; the playbook pauses the app's miners and switches the prover off first and prints the compute apps left on the card, so a shared-card run is labelled as such). The lines land here and in the bench-log when the job's RESULT lines are in. PC 1 is off limits tonight (the 0.3.10 and 0.3.11 rollout and its app outage), so its line is owed; the Mac's `powermetrics` line needs sudo and is owed to a person.
|
||||
|
||||
The lines (PC 2, job `m16-inline-pc2-1`, 00:41 to 00:43 UTC, the card otherwise idle, 7 samples 2 s apart per window, `nvidia-smi --query-gpu=power.draw,clocks.sm,temperature.gpu,utilization.gpu`): honest 1 GiB at 1 warp per block 132.20 Mhash/s, 326.6 W median (325.9 to 328.5), 3,060 MHz, 50 to 54 C, 100%; honest at 8 warps 131.15 Mhash/s, 346.9 W, 3,037 MHz, 66 C; inline 256 MiB 11.26 Mhash/s, 415.7 W, 3,052 MHz; inline 64 MiB 33.88 Mhash/s, 431.0 W (the limit, clocks 2,835 MHz); inline 32 MiB 33.87, 431.0 W; idle before the run 66 W at 847 MHz and 5%. Consequence: the economics input for the 5090 class is 132 Mhash/s at 327 W for a version-2 program, 0.40 Mhash/J (the simulator's 229 Mhash/s row is a version-1 figure); the power cap at 431 W did not bind the honest kernel. The draw under the app's own cap and the 9070 XT line are PC 1's (owed); the Mac's line is a person's (sudo).
|
||||
|
||||
### E18. The dev fee is a protocol fee with better PR
|
||||
"A 1% dev fee in the official miner is 1% of the chain's hashrate paid to one company for as long as miners run it. Call it what it is: a founder allocation, hidden in the client, and nobody can tell how often it really fires."
|
||||
|
||||
|
|
|
|||
130
proto-cuda/inline-bench/job-m16-inline-pc2-1.log
Normal file
130
proto-cuda/inline-bench/job-m16-inline-pc2-1.log
Normal file
|
|
@ -0,0 +1,130 @@
|
|||
===== id 37558 | job-m16-inline-pc2-1-1ccfe586 | job-run | DESKTOP-KMCV30N-1ccfe586 | 2026-10-06 00:43:17 UTC | 27271 bytes =====
|
||||
SUMMARY: done exit 0, started 2026-10-06T00:38:54Z, finished 2026-10-06T00:43:17Z, 263 s: script finished, exit 0
|
||||
RESULT start 2026-10-06T00:38:54Z machine=1ccfe58643fdfe1d job=m16-inline-pc2-1 app=0.3.11
|
||||
RESULT kit 2026-10-06T00:38:55Z https://dl.igneum.network/dl/***DL-TOKEN-REMOVED***/igneum-inline-bench-kit.zip sha256 80ce0290a456b5c221ffde02bb35f74a25e48394e4cbccf53335a83e8aeb08ce ok; exe 2e6a21de6d9e752e5e22b325d4d6de4fe2b5c88d88f01204715aa3758d22ef87
|
||||
RESULT nvrtc 2026-10-06T00:38:55Z 2 DLL(s) from C:\Users\Admin\AppData\Local\Programs\Igneum Miner
|
||||
RESULT app 2026-10-06T00:38:55Z settings.json prove=True paused=False identities=1 cards=nvidia:0:NVIDIA GeForce RTX 5090,nvidia:NVIDIA GeForce RTX 5090,amd:1:gfx1036,amd:gfx1036 app_url=yes
|
||||
RESULT prove_off 2026-10-06T00:38:55Z {"ok":true}
|
||||
RESULT pause 2026-10-06T00:38:55Z {"ok":true}
|
||||
RESULT card-quiet after 120 s: compute apps on the card = 2004, [Insufficient Permissions], [N/A] | 10080, C:\Windows\System32\ShellHost.exe, [N/A] | 10276, C:\Windows\SystemApps\MicrosoftWindows.Client.CBS_cw5n1h2txyewy\CrossDeviceResume.exe, [N/A] | 9988, C:\Windows\explorer.exe, [N/A] | 12392, C:\Windows\SystemApps\Microsoft.Windows.StartMenuExperienceHost_cw5n1h2txyewy\StartMenuExperienceHost.exe, [N/A] | 12360, C:\Windows\SystemApps\MicrosoftWindows.Client.CBS_cw5n1h2txyewy\SearchHost.exe, [N/A] | 15472, C:\Program Files (x86)\Microsoft\EdgeWebView\Application\154.0.4258.53\msedgewebview2.exe, [N/A] | 18196, C:\Windows\SystemApps\MicrosoftWindows.Client.CBS_cw5n1h2txyewy\TextInputHost.exe, [N/A] | 18604, C:\Program Files\WindowsApps\Microsoft.GamingApp_2605.1001.14.0_x64__8wekyb3d8bbwe\XboxPcTray.exe, [N/A] | 18928, C:\Program Files\WindowsApps\Microsoft.WindowsTerminal_1.24.11321.0_x64__8wekyb3d8bbwe\WindowsTerminal.exe, [N/A] | 19412, C:\Windows\System32\ApplicationFrameHost.exe, [N/A] | 19420, C:\Program Files\WindowsApps\Microsoft.GamingApp_2605.1001.14.0_x64__8wekyb3d8bbwe\XboxPcApp.exe, [N/A] | 1272, C:\Windows\SystemApps\ShellExperienceHost_cw5n1h2txyewy\ShellExperienceHost.exe, [N/A] | 3540, C:\Windows\SystemApps\Microsoft.Windows.AppRep.ChxApp_cw5n1h2txyewy\CHXSmartScreen.exe, [N/A] | 24560, C:\Windows\ImmersiveControlPanel\SystemSettings.exe, [N/A] | 4920, C:\Program Files\Google\Chrome\Application\chrome.exe, [N/A] | 7308, C:\Program Files\Google\Chrome\Application\chrome.exe, [N/A] | 25804, C:\Program Files (x86)\Microsoft\EdgeWebView\Application\154.0.4258.53\msedgewebview2.exe, [N/A] | 31476, C:\Program Files\WindowsApps\Microsoft.YourPhone_1.26072.257.0_x64__8wekyb3d8bbwe\PhoneExperienceHost.exe, [N/A] | 29280, C:\Program Files (x86)\Microsoft\EdgeWebView\Application\154.0.4258.53\msedgewebview2.exe, [N/A] (SHARED CARD: the numbers below are labelled shared)
|
||||
RESULT gpu-before 2026-10-06T00:41:01Z NVIDIA GeForce RTX 5090, 610.47, 66.11 W, 431.00 W, 847 MHz, 7001 MHz, 2065 MiB, 45, 5 %
|
||||
RESULT pass block-warps=1 start 2026-10-06T00:41:01Z
|
||||
RESULT bench igneum-inline-bench 1.0 (6 October 2026, ledger close round 2): device 0 NVIDIA_GeForce_RTX_5090 (sm_120, 170 SMs, L2 96 MiB, SM clock 2407 MHz), driver 13.3 from nvcuda.dll, NVRTC 12.8 from C:\Users\Admin\AppData\Local\igneum\app\jobs\m16-inline-pc2-1\kit\igneum-inline-bench\nvrtc64_120_0.dll, target sm_120 (the device's architecture, listed by NVRTC)
|
||||
RESULT texts pack C:\Users\Admin\AppData\Local\igneum\app\jobs\m16-inline-pc2-1\kit\igneum-inline-bench\pack seed igneum-epoch/edc4fa844da9dc98d37e965176f6558a31560e40502ab3ae5491b21aaaabfb07/day/69676e65756d2d6461792ffa50000000000000: kernel.cu 0a75576f74ddb9a2 kernel_bound.cu 2a076d717d481df5 program.h 4420cc0f103b7332 memhard.h 88dfa13835df0cce kernel_inline.cu 5aaabaa0b01e4fea (16 inline loads) memhard_inline.h dd86cd2610e5540e
|
||||
RESULT compile sm_120: kernel.cu 126 ms, kernel_bound.cu 43 ms, kernel_inline.cu 641 ms; registers honest 28 inline 48; resident blocks/SM at 1 warp(s)/block honest 24 inline 24
|
||||
RESULT memory 30991 MiB free of 32606; this run needs 1408 MiB (cache 256 + dataset 1024 + check dataset 64 + outputs)
|
||||
RESULT fill cache 256 MiB in 12.0 ms (65536 segments); dataset 1024 MiB built in 14.1 ms (1189 M items/s)
|
||||
RESULT check 1 honest kernel, the pack's self-test: self-test PASS (cache head, last line and FNV-1a 64 448274a57f508cbc; dataset head, word [268435455] and 64 samples; 96 of 96 vector lanes)
|
||||
RESULT check 2 inline kernel at the 256 MiB mask (0x003fffff) on the 96 vector lanes: PASS, every lane equals the pack's vectors (the dataset was never read)
|
||||
RESULT check 3 inline64 (mask 0x000fffff, 64 MiB check dataset): PASS, stored twin == recomputed on all 8288 lanes; differs from the pack's vectors, as a smaller cache must
|
||||
RESULT check 3 inline32 (mask 0x0007ffff, 64 MiB check dataset): PASS, stored twin == recomputed on all 8288 lanes; differs from the pack's vectors, as a smaller cache must
|
||||
RESULT checks PASS: every number below stands
|
||||
RESULT smi honest 82.65 W, 2505 MHz, 45, 4 %
|
||||
RESULT smi honest 325.89 W, 3060 MHz, 50, 100 %
|
||||
RESULT smi honest 326.14 W, 3060 MHz, 51, 100 %
|
||||
RESULT smi honest 326.63 W, 3060 MHz, 52, 100 %
|
||||
RESULT smi honest 327.30 W, 3060 MHz, 52, 100 %
|
||||
RESULT smi honest 327.60 W, 3060 MHz, 53, 100 %
|
||||
RESULT smi honest 328.45 W, 3052 MHz, 54, 100 %
|
||||
RESULT setting=honest lineMask=0x00000000 cacheTouched=1024 MiB blockWarps=1 batch=2^22 launches=474 hashes=1988100096 seconds=15.04 mhs=132.202 ratio_vs_honest=1.000 smi_samples=7 smi_first_field_median=326.6
|
||||
RESULT smi inline256 330.11 W, 3052 MHz, 54, 100 %
|
||||
RESULT smi inline256 413.93 W, 3052 MHz, 57, 100 %
|
||||
RESULT smi inline256 414.66 W, 3052 MHz, 58, 100 %
|
||||
RESULT smi inline256 415.74 W, 3052 MHz, 59, 100 %
|
||||
RESULT smi inline256 416.53 W, 3052 MHz, 60, 100 %
|
||||
RESULT smi inline256 417.53 W, 3052 MHz, 60, 100 %
|
||||
RESULT smi inline256 418.38 W, 3052 MHz, 61, 100 %
|
||||
RESULT setting=inline256 lineMask=0x003fffff cacheTouched=256 MiB blockWarps=1 batch=2^22 launches=41 hashes=171966464 seconds=15.27 mhs=11.262 ratio_vs_honest=0.085 smi_samples=7 smi_first_field_median=415.7
|
||||
RESULT smi inline64 416.18 W, 3052 MHz, 61, 82 %
|
||||
RESULT smi inline64 430.98 W, 2835 MHz, 64, 100 %
|
||||
RESULT smi inline64 431.05 W, 2835 MHz, 64, 100 %
|
||||
RESULT smi inline64 431.03 W, 2835 MHz, 65, 100 %
|
||||
RESULT smi inline64 431.00 W, 2835 MHz, 66, 100 %
|
||||
RESULT smi inline64 431.01 W, 2827 MHz, 66, 100 %
|
||||
RESULT smi inline64 430.99 W, 2827 MHz, 67, 100 %
|
||||
RESULT setting=inline64 lineMask=0x000fffff cacheTouched=64 MiB blockWarps=1 batch=2^22 launches=122 hashes=511705088 seconds=15.11 mhs=33.875 ratio_vs_honest=0.256 smi_samples=7 smi_first_field_median=431.0
|
||||
RESULT smi inline32 430.98 W, 2827 MHz, 67, 100 %
|
||||
RESULT smi inline32 430.95 W, 2827 MHz, 68, 100 %
|
||||
RESULT smi inline32 430.98 W, 2820 MHz, 68, 100 %
|
||||
RESULT smi inline32 430.91 W, 2820 MHz, 68, 100 %
|
||||
RESULT smi inline32 431.06 W, 2820 MHz, 69, 100 %
|
||||
RESULT smi inline32 430.99 W, 2820 MHz, 69, 100 %
|
||||
RESULT smi inline32 431.01 W, 2820 MHz, 70, 100 %
|
||||
RESULT setting=inline32 lineMask=0x0007ffff cacheTouched=32 MiB blockWarps=1 batch=2^22 launches=122 hashes=511705088 seconds=15.11 mhs=33.867 ratio_vs_honest=0.256 smi_samples=7 smi_first_field_median=431.0
|
||||
RESULT summary 4 settings timed; honest 132.202 Mhash/s; the inline ratios are the attacker's rate over the honest rate on this card
|
||||
RESULT pass block-warps=8 start 2026-10-06T00:42:04Z
|
||||
RESULT compile sm_120: kernel.cu 107 ms, kernel_bound.cu 40 ms, kernel_inline.cu 641 ms; registers honest 28 inline 48; resident blocks/SM at 8 warp(s)/block honest 6 inline 5
|
||||
RESULT fill cache 256 MiB in 10.4 ms (65536 segments); dataset 1024 MiB built in 13.9 ms (1209 M items/s)
|
||||
RESULT check 3 inline64 (mask 0x000fffff, 64 MiB check dataset): PASS, stored twin == recomputed on all 8960 lanes; differs from the pack's vectors, as a smaller cache must
|
||||
RESULT check 3 inline32 (mask 0x0007ffff, 64 MiB check dataset): PASS, stored twin == recomputed on all 8960 lanes; differs from the pack's vectors, as a smaller cache must
|
||||
RESULT smi honest 145.69 W, 3045 MHz, 64, 37 %
|
||||
RESULT smi honest 346.41 W, 3037 MHz, 66, 100 %
|
||||
RESULT smi honest 347.31 W, 3037 MHz, 66, 100 %
|
||||
RESULT smi honest 346.77 W, 3037 MHz, 66, 100 %
|
||||
RESULT smi honest 347.17 W, 3037 MHz, 66, 100 %
|
||||
RESULT smi honest 346.96 W, 3037 MHz, 66, 100 %
|
||||
RESULT smi honest 346.91 W, 3037 MHz, 66, 100 %
|
||||
RESULT setting=honest lineMask=0x00000000 cacheTouched=1024 MiB blockWarps=8 batch=2^22 launches=472 hashes=1979711488 seconds=15.10 mhs=131.147 ratio_vs_honest=1.000 smi_samples=7 smi_first_field_median=346.9
|
||||
RESULT smi inline256 347.19 W, 3037 MHz, 66, 100 %
|
||||
RESULT smi inline256 431.14 W, 3000 MHz, 69, 100 %
|
||||
RESULT smi inline256 431.07 W, 3000 MHz, 69, 100 %
|
||||
RESULT smi inline256 430.97 W, 2992 MHz, 69, 100 %
|
||||
RESULT smi inline256 431.03 W, 3000 MHz, 70, 100 %
|
||||
RESULT smi inline256 430.98 W, 2992 MHz, 70, 100 %
|
||||
RESULT smi inline256 430.94 W, 2992 MHz, 70, 100 %
|
||||
RESULT smi inline256 431.03 W, 2992 MHz, 70, 100 %
|
||||
RESULT setting=inline256 lineMask=0x003fffff cacheTouched=256 MiB blockWarps=8 batch=2^22 launches=40 hashes=167772160 seconds=15.41 mhs=10.886 ratio_vs_honest=0.083 smi_samples=8 smi_first_field_median=431.0
|
||||
RESULT smi inline64 431.21 W, 2992 MHz, 71, 100 %
|
||||
RESULT smi inline64 431.00 W, 2865 MHz, 73, 100 %
|
||||
RESULT smi inline64 431.02 W, 2865 MHz, 73, 100 %
|
||||
RESULT smi inline64 430.95 W, 2857 MHz, 73, 100 %
|
||||
RESULT smi inline64 430.96 W, 2857 MHz, 74, 100 %
|
||||
RESULT smi inline64 430.85 W, 2850 MHz, 74, 100 %
|
||||
RESULT smi inline64 431.01 W, 2850 MHz, 74, 100 %
|
||||
RESULT setting=inline64 lineMask=0x000fffff cacheTouched=64 MiB blockWarps=8 batch=2^22 launches=106 hashes=444596224 seconds=15.17 mhs=29.315 ratio_vs_honest=0.224 smi_samples=7 smi_first_field_median=431.0
|
||||
RESULT smi inline32 430.94 W, 2850 MHz, 74, 100 %
|
||||
RESULT smi inline32 430.95 W, 2850 MHz, 74, 100 %
|
||||
RESULT smi inline32 430.90 W, 2850 MHz, 75, 100 %
|
||||
RESULT smi inline32 430.73 W, 2842 MHz, 75, 100 %
|
||||
RESULT smi inline32 430.91 W, 2842 MHz, 75, 100 %
|
||||
RESULT smi inline32 430.99 W, 2850 MHz, 75, 100 %
|
||||
RESULT smi inline32 430.98 W, 2842 MHz, 75, 100 %
|
||||
RESULT setting=inline32 lineMask=0x0007ffff cacheTouched=32 MiB blockWarps=8 batch=2^22 launches=106 hashes=444596224 seconds=15.09 mhs=29.458 ratio_vs_honest=0.225 smi_samples=7 smi_first_field_median=430.9
|
||||
RESULT summary 4 settings timed; honest 131.147 Mhash/s; the inline ratios are the attacker's rate over the honest rate on this card
|
||||
RESULT gpu-after 2026-10-06T00:43:06Z 431.10 W, 2842 MHz, 13801 MHz, 2065 MiB, 75, 100 %
|
||||
RESULT resume 2026-10-06T00:43:06Z {"ok":true}
|
||||
RESULT prove_on 2026-10-06T00:43:06Z {"ok":true}
|
||||
RESULT restored 2026-10-06T00:43:16Z settings.json prove=True paused=False (before: prove=True paused=False)
|
||||
RESULT card-after 2026-10-06T00:43:16Z compute apps = 2004, [Insufficient Permissions] | 10080, C:\Windows\System32\ShellHost.exe | 10276, C:\Windows\SystemApps\MicrosoftWindows.Client.CBS_cw5n1h2txyewy\CrossDeviceResume.exe | 9988, C:\Windows\explorer.exe | 12392, C:\Windows\SystemApps\Microsoft.Windows.StartMenuExperienceHost_cw5n1h2txyewy\StartMenuExperienceHost.exe | 12360, C:\Windows\SystemApps\MicrosoftWindows.Client.CBS_cw5n1h2txyewy\SearchHost.exe | 15472, C:\Program Files (x86)\Microsoft\EdgeWebView\Application\154.0.4258.53\msedgewebview2.exe | 18196, C:\Windows\SystemApps\MicrosoftWindows.Client.CBS_cw5n1h2txyewy\TextInputHost.exe | 18604, C:\Program Files\WindowsApps\Microsoft.GamingApp_2605.1001.14.0_x64__8wekyb3d8bbwe\XboxPcTray.exe | 18928, C:\Program Files\WindowsApps\Microsoft.WindowsTerminal_1.24.11321.0_x64__8wekyb3d8bbwe\WindowsTerminal.exe | 19412, C:\Windows\System32\ApplicationFrameHost.exe | 19420, C:\Program Files\WindowsApps\Microsoft.GamingApp_2605.1001.14.0_x64__8wekyb3d8bbwe\XboxPcApp.exe | 1272, C:\Windows\SystemApps\ShellExperienceHost_cw5n1h2txyewy\ShellExperienceHost.exe | 3540, C:\Windows\SystemApps\Microsoft.Windows.AppRep.ChxApp_cw5n1h2txyewy\CHXSmartScreen.exe | 24560, C:\Windows\ImmersiveControlPanel\SystemSettings.exe | 4920, C:\Program Files\Google\Chrome\Application\chrome.exe | 7308, C:\Program Files\Google\Chrome\Application\chrome.exe | 25804, C:\Program Files (x86)\Microsoft\EdgeWebView\Application\154.0.4258.53\msedgewebview2.exe | 31476, C:\Program Files\WindowsApps\Microsoft.YourPhone_1.26072.257.0_x64__8wekyb3d8bbwe\PhoneExperienceHost.exe | 29280, C:\Program Files (x86)\Microsoft\EdgeWebView\Application\154.0.4258.53\msedgewebview2.exe | 31184, C:\Users\Admin\AppData\Local\Programs\Igneum Miner\igneum-worker-cuda.exe
|
||||
RESULT end 2026-10-06T00:43:16Z exit 0
|
||||
RESULT smi inline256 430.97 W, 2992 MHz, 69, 100 %
|
||||
RESULT smi inline256 431.03 W, 3000 MHz, 70, 100 %
|
||||
RESULT smi inline256 430.98 W, 2992 MHz, 70, 100 %
|
||||
RESULT smi inline256 430.94 W, 2992 MHz, 70, 100 %
|
||||
RESULT smi inline256 431.03 W, 2992 MHz, 70, 100 %
|
||||
RESULT setting=inline256 lineMask=0x003fffff cacheTouched=256 MiB blockWarps=8 batch=2^22 launches=40 hashes=167772160 seconds=15.41 mhs=10.886 ratio_vs_honest=0.083 smi_samples=8 smi_first_field_median=431.0
|
||||
RESULT smi inline64 431.21 W, 2992 MHz, 71, 100 %
|
||||
RESULT smi inline64 431.00 W, 2865 MHz, 73, 100 %
|
||||
RESULT smi inline64 431.02 W, 2865 MHz, 73, 100 %
|
||||
RESULT smi inline64 430.95 W, 2857 MHz, 73, 100 %
|
||||
RESULT smi inline64 430.96 W, 2857 MHz, 74, 100 %
|
||||
RESULT smi inline64 430.85 W, 2850 MHz, 74, 100 %
|
||||
RESULT smi inline64 431.01 W, 2850 MHz, 74, 100 %
|
||||
RESULT setting=inline64 lineMask=0x000fffff cacheTouched=64 MiB blockWarps=8 batch=2^22 launches=106 hashes=444596224 seconds=15.17 mhs=29.315 ratio_vs_honest=0.224 smi_samples=7 smi_first_field_median=431.0
|
||||
RESULT smi inline32 430.94 W, 2850 MHz, 74, 100 %
|
||||
RESULT smi inline32 430.95 W, 2850 MHz, 74, 100 %
|
||||
RESULT smi inline32 430.90 W, 2850 MHz, 75, 100 %
|
||||
RESULT smi inline32 430.73 W, 2842 MHz, 75, 100 %
|
||||
RESULT smi inline32 430.91 W, 2842 MHz, 75, 100 %
|
||||
RESULT smi inline32 430.99 W, 2850 MHz, 75, 100 %
|
||||
RESULT smi inline32 430.98 W, 2842 MHz, 75, 100 %
|
||||
RESULT setting=inline32 lineMask=0x0007ffff cacheTouched=32 MiB blockWarps=8 batch=2^22 launches=106 hashes=444596224 seconds=15.09 mhs=29.458 ratio_vs_honest=0.225 smi_samples=7 smi_first_field_median=430.9
|
||||
RESULT summary 4 settings timed; honest 131.147 Mhash/s; the inline ratios are the attacker's rate over the honest rate on this card
|
||||
RESULT gpu-after 2026-10-06T00:43:06Z 431.10 W, 2842 MHz, 13801 MHz, 2065 MiB, 75, 100 %
|
||||
RESULT resume 2026-10-06T00:43:06Z {"ok":true}
|
||||
RESULT prove_on 2026-10-06T00:43:06Z {"ok":true}
|
||||
RESULT restored 2026-10-06T00:43:16Z settings.json prove=True paused=False (before: prove=True paused=False)
|
||||
RESULT card-after 2026-10-06T00:43:16Z compute apps = 2004, [Insufficient Permissions] | 10080, C:\Windows\System32\ShellHost.exe | 10276, C:\Windows\SystemApps\MicrosoftWindows.Client.CBS_cw5n1h2txyewy\CrossDeviceResume.exe | 9988, C:\Windows\explorer.exe | 12392, C:\Windows\SystemApps\Microsoft.Windows.StartMenuExperienceHost_cw5n1h2txyewy\StartMenuExperienceHost.exe | 12360, C:\Windows\SystemApps\MicrosoftWindows.Client.CBS_cw5n1h2txyewy\SearchHost.exe | 15472, C:\Program Files (x86)\Microsoft\EdgeWebView\Application\154.0.4258.53\msedgewebview2.exe | 18196, C:\Windows\SystemApps\MicrosoftWindows.Client.CBS_cw5n1h2txyewy\TextInputHost.exe | 18604, C:\Program Files\WindowsApps\Microsoft.GamingApp_2605.1001.14.0_x64__8wekyb3d8bbwe\XboxPcTray.exe | 18928, C:\Program Files\WindowsApps\Microsoft.WindowsTerminal_1.24.11321.0_x64__8wekyb3d8bbwe\WindowsTerminal.exe | 19412, C:\Windows\System32\ApplicationFrameHost.exe | 19420, C:\Program Files\WindowsApps\Microsoft.GamingApp_2605.1001.14.0_x64__8wekyb3d8bbwe\XboxPcApp.exe | 1272, C:\Windows\SystemApps\ShellExperienceHost_cw5n1h2txyewy\ShellExperienceHost.exe | 3540, C:\Windows\SystemApps\Microsoft.Windows.AppRep.ChxApp_cw5n1h2txyewy\CHXSmartScreen.exe | 24560, C:\Windows\ImmersiveControlPanel\SystemSettings.exe | 4920, C:\Program Files\Google\Chrome\Application\chrome.exe | 7308, C:\Program Files\Google\Chrome\Application\chrome.exe | 25804, C:\Program Files (x86)\Microsoft\EdgeWebView\Application\154.0.4258.53\msedgewebview2.exe | 31476, C:\Program Files\WindowsApps\Microsoft.YourPhone_1.26072.257.0_x64__8wekyb3d8bbwe\PhoneExperienceHost.exe | 29280, C:\Program Files (x86)\Microsoft\EdgeWebView\Application\154.0.4258.53\msedgewebview2.exe | 31184, C:\Users\Admin\AppData\Local\Programs\Igneum Miner\igneum-worker-cuda.exe
|
||||
RESULT end 2026-10-06T00:43:16Z exit 0
|
||||
job m16-inline-pc2-1: done (exit 0) after 263 s: script finished, exit 0
|
||||
(... 78 more lines; --all prints every upload)
|
||||
|
|
@ -16,9 +16,7 @@ $urlFile = if ($env:IGNEUM_APP_DIR) { Join-Path $env:IGNEUM_APP_DIR 'app.url' }
|
|||
if (-not (Test-Path $urlFile)) { $urlFile = Join-Path $env:LOCALAPPDATA 'igneum\app\app.url' }
|
||||
$base = $null
|
||||
if (Test-Path $urlFile) { $base = (Get-Content $urlFile -Raw).Trim().TrimEnd('/') }
|
||||
function State { if (-not $base) { return $null }; try { Invoke-RestMethod -Uri "$base/api/state" -TimeoutSec 20 } catch { $null } }
|
||||
function Post($path, $body) { if (-not $base) { return 'no app url' }; try { (Invoke-RestMethod -Method Post -Uri "$base$path" -ContentType 'application/json' -Body ($body | ConvertTo-Json -Compress) -TimeoutSec 15) | ConvertTo-Json -Compress } catch { "error: $_" } }
|
||||
function Card($st) { if ($null -eq $st) { return $null }; $st.mining.cards | Where-Object { $_.vendor -eq 'nvidia' } | Select-Object -First 1 }
|
||||
|
||||
$job = $env:IGNEUM_JOB_DIR
|
||||
if (-not $job) { $job = Join-Path $env:TEMP 'igneum-inline-bench-job' }
|
||||
|
|
@ -48,25 +46,29 @@ $dlls = (Get-ChildItem (Split-Path $exe) -Filter 'nvrtc*.dll').Count
|
|||
if ($dlls -lt 2) { "RESULT error only $dlls NVRTC DLL(s) found in $inst"; exit 2 }
|
||||
"RESULT nvrtc $(Stamp) $dlls DLL(s) from $inst"
|
||||
|
||||
# 2. the card: the app's miners paused and the live prover off for the run, both restored in finally
|
||||
$st0 = State
|
||||
$proveWas = $null; $paused = $false; $rc = 1
|
||||
if ($st0) { $proveWas = [bool]$st0.settings.prove; "RESULT app $(Stamp) version=$($st0.version) machine=$($st0.machine_id) prove_setting=$proveWas proving=$($st0.proving.status) paused=$($st0.mining.paused)" } else { "RESULT app none: the app is not answering; measuring with whatever else runs on the card (labelled)" }
|
||||
# 2. the card: the app's miners paused and the live prover off for the run, both restored in finally. The prover and
|
||||
# pause settings are read from the app's settings.json, never from /api/state (0.3.11: it answers "{}" on a proving
|
||||
# machine after about 15 paid shards; the scheduler's rule tonight); the pause and the prover switch are posted
|
||||
# whenever the app has a URL, and the card is judged quiet by nvidia-smi's compute-apps list alone.
|
||||
$app = if ($env:IGNEUM_APP_DIR) { $env:IGNEUM_APP_DIR } else { Join-Path $env:LOCALAPPDATA 'igneum\app' }
|
||||
function Settings { $f = Join-Path $app 'settings.json'; if (Test-Path $f) { try { Get-Content -LiteralPath $f -Raw | ConvertFrom-Json } catch { $null } } else { $null } }
|
||||
$s0 = Settings
|
||||
$proveWas = $false; $pausedWas = $false; $paused = $false; $rc = 1
|
||||
if ($s0) { $proveWas = [bool]$s0.prove; $pausedWas = [bool]$s0.paused; "RESULT app $(Stamp) settings.json prove=$proveWas paused=$pausedWas identities=$($s0.identities) cards=$(($s0.cards.PSObject.Properties | ForEach-Object { $_.Name }) -join ',') app_url=$(if ($base) { 'yes' } else { 'none' })" } else { "RESULT app settings.json not found under $app; app_url=$(if ($base) { 'yes' } else { 'none' })" }
|
||||
try {
|
||||
if ($st0) {
|
||||
if ($proveWas) { "RESULT prove_off $(Stamp) $(Post '/api/prove' @{on=$false})" }
|
||||
if ($base) {
|
||||
"RESULT prove_off $(Stamp) $(Post '/api/prove' @{on=$false})"
|
||||
"RESULT pause $(Stamp) $(Post '/api/pause' @{})"; $paused = $true
|
||||
$t = 0
|
||||
while ($t -lt 120) {
|
||||
Start-Sleep -Seconds 5; $t += 5
|
||||
$c = Card (State)
|
||||
$apps = (& nvidia-smi --query-compute-apps=pid,process_name --format=csv,noheader 2>$null) -join ' | '
|
||||
if ((-not $c -or $c.state -eq 'off' -or $c.pid -eq 0 -or $c.hash_now -le 0) -and -not $apps) { break }
|
||||
if (-not $apps) { break }
|
||||
}
|
||||
$apps = (& nvidia-smi --query-compute-apps=pid,process_name,used_memory --format=csv,noheader 2>$null) -join ' | '
|
||||
"RESULT card-quiet after $t s: compute apps on the card = $(if ($apps) { $apps } else { 'none' })$(if ($apps) { ' (SHARED CARD: the numbers below are labelled shared)' })"
|
||||
Start-Sleep -Seconds 5
|
||||
}
|
||||
} else { "RESULT app none: no app URL, nothing paused; measuring with whatever else runs on the card (labelled)" }
|
||||
"RESULT gpu-before $(Stamp) $(Smi 'name,driver_version,power.draw,power.limit,clocks.sm,clocks.mem,memory.used,temperature.gpu,utilization.gpu')"
|
||||
|
||||
# 3. the bench: checks, then the four settings per pass, the E17 line sampled every 2 s inside each timed window
|
||||
|
|
@ -78,11 +80,13 @@ try {
|
|||
}
|
||||
"RESULT gpu-after $(Stamp) $(Smi 'power.draw,clocks.sm,clocks.mem,memory.used,temperature.gpu,utilization.gpu')"
|
||||
} finally {
|
||||
if ($paused) { "RESULT resume $(Stamp) $(Post '/api/resume' @{})" }
|
||||
if ($proveWas) { "RESULT prove_on $(Stamp) $(Post '/api/prove' @{on=$true})" }
|
||||
if ($paused -and -not $pausedWas) { "RESULT resume $(Stamp) $(Post '/api/resume' @{})" } elseif ($paused) { "RESULT resume skipped: the app was paused before the job (settings.json paused=true)" }
|
||||
if ($proveWas) { "RESULT prove_on $(Stamp) $(Post '/api/prove' @{on=$true})" } else { "RESULT prove_on skipped: the prover was off before the job (settings.json prove=false)" }
|
||||
Start-Sleep -Seconds 10
|
||||
$st1 = State
|
||||
if ($st1) { "RESULT restored $(Stamp) prove_setting=$([bool]$st1.settings.prove) paused=$($st1.mining.paused) nvidia_state=$((Card $st1).state)" }
|
||||
$s1 = Settings
|
||||
if ($s1) { "RESULT restored $(Stamp) settings.json prove=$([bool]$s1.prove) paused=$([bool]$s1.paused) (before: prove=$proveWas paused=$pausedWas)" }
|
||||
$apps = (& nvidia-smi --query-compute-apps=pid,process_name --format=csv,noheader 2>$null) -join ' | '
|
||||
"RESULT card-after $(Stamp) compute apps = $(if ($apps) { $apps } else { 'none yet' })"
|
||||
}
|
||||
"RESULT end $(Stamp) exit $rc"
|
||||
exit $rc
|
||||
|
|
|
|||
Loading…
Reference in a new issue