igneum/docs/design
igneum-labs 27bcb81494 Variant racing: the NVRTC and Metal workers compile several kernel variants at every prepare and keep the fastest for the hour
the project lead, 4 Oct 2026 evening: "we need to make our miner better than anything else can be". The compile-ahead pipeline
built one kernel per program; it now builds a catalogue (unroll 2 or 8; the dataset load path __ldg, __ldcg, __ldcs
on NVIDIA; a register budget by --maxrregcount or __launch_bounds__, max_total_threads_per_threadgroup on Apple;
2, 4, 8 warps per block or 64 to 256 threads per threadgroup; combinations), self-tests each against the pack's
vector warps (NVIDIA) or the base kernel over 2^16 nonces (Metal), bit for bit or out, and times each for about two
seconds with the job loop paused (one mutex, mining resumes between variants). Base is the pack's text as shipped,
always first, never discarded; a race has a budget (default 120 s against the 600-DAA lead) and keeps the best so
far when it runs out, so the swap is never delayed. One line per race: variants, MH/s each, winner, gain, time.
A tuning file (--tuning, IGNEUM_TUNING_FILE) pins a variant or orders the candidates per card model.

NVIDIA: textual rewrites on the pack's own kernel_bound.cu with exact anchors from igneum-pow's emitter, so the
pack format, the miner and igneum-pow are untouched and old packs race. --race --pack <dir> runs the race alone.
Under IGNEUM_EMU the race is off (the stand-in checks the handed-over text is the pack's). Metal: the MSL hooks in
generateMSL, a lock-protected kernel slot per program, a pair compiled inline races after its first job,
--race-test --seed --day runs the race alone with a table. OpenCL is not raced yet. docs/design/miner-tuning.md.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 19:08:45 +00:00
..
app-screens Igneum Miner: over-the-air updates (the project lead's rule: every app updates itself and downloads the update by itself). Signed manifest (Ed25519, key on the Mac, public key compiled in), hourly check with jitter, download with resume and sha256, staged bundle on macOS, silent Inno upgrade on Windows, apply at a safe moment (node synced, no hour boundary within 3 min, no worker starting), red bar and no waiting near a consensus activation height, rollback to .previous / the previous installer, Settings: Check now, Install now, automatic switch; publish-manifest.sh, fetch-ci-artifacts.sh adds the Windows entry; dry run on a private devnet 0.3.0 -> 0.3.1 and back (rollback), screenshots; TEST.md for PC 2 2026-10-04 13:25:14 +00:00
console Igneum console at the relay URL: Machines, Jobs, Builds, Chain, Work log, Results and the relay as tabs 2026-10-04 13:53:33 +00:00
live-dag Live DAG: screenshots of the chain rail layout 2026-10-04 10:17:06 +00:00
live-proving Live page: the ?window=300 capture with a paid shard cell and its tooltip; header counts and the ingest keep-window follow the target scale (the 8 px/s floor was the adaptive scale's); counts right on the first poll; lock label backed; record rotation 80 blocks per tick 2026-10-04 17:43:26 +00:00
relay Relay: text, files and runnable tasks between the Mac, the PCs and the phone (relay.igneum.network) 2026-10-04 10:04:30 +00:00
developer-adoption.md Windows launcher: brace a variable before a colon (second PowerShell parse error, found on PC 2) 2026-10-04 10:02:41 +00:00
execution-layer.md Execution: spec 7.5 pgas cap and abort rule, bench-log and ledger for the F-exec-A and F-exec-B fixes 2026-10-03 23:25:34 +00:00
miner-tuning.md Variant racing: the NVRTC and Metal workers compile several kernel variants at every prepare and keep the fastest for the hour 2026-10-04 19:08:45 +00:00
payment-routes.md Evidence page, end-to-end proving standard, funding plan, security-budget stress, payment routes 2026-10-03 22:35:03 +00:00
phone-app.md External review of the litepaper: response, 15 ledger entries, fix rows, open items, four-state rule, miner-app rules, phase-2 gate 2026-10-03 22:29:41 +00:00