Igneum: the GPU-mined zkEVM L1. Node, miner, app, spec and site.
Find a file
igneum-labs 83ee0dd807 Counter ASIC 4.0 research: two experimental program classes behind the pack (no chain class, no consensus change)
igneum-pow: ShadowClass gains per_load (the shadow block split into 16 sub-blocks of instrs / 16, sub-block j run reps times right after the j-th load; name "+shl<S>x<R>", id bytes "perload") and tiles (int8 mma.m8n8k16 u8 tile steps per iteration after the shadow block, [a, b, c, c2] drawn from the stream after the shadow draws, c2 != c, both outputs consumed; name "+mm<R>", id bytes "mm8/" || tiles_le16); ShadowClass::block keeps every class v4 literal and id unchanged. New module mm8: the tile step on the warp register file, the scalar reference and an AVX2 path (maddubs on a 4-way split of B so no 16-bit lane saturates), the unit test pinning SIMD equal to scalar on 64 seeds and the all-ones edge; IGNEUM_MM8_SCALAR=1 forces the reference. verify: the per-load sub-blocks inside the base loop, the tile block after the shadow. emit: the sub-block after each load line in Metal, CUDA and OpenCL; the tile block as inline PTX mma in CUDA and as the shuffle-and-byte-product reference in Metal (mm8_ref) and OpenCL (IGNEUM_MM8_REF with IGNEUM_SHFL_IDX in the three exchange variants); lane declared when tiles are present; program.h gains IGNEUM_SHADOW_PER_LOAD and IGNEUM_MM8_TILES[_PER_HASH]; program.json the placement and the descriptors. Nothing is emitted for a class without the fields: the packs test holds the pinned packs byte for byte and the re-exported mx8+sh256x27 is byte-identical to packs-ca3-shadow/sh256x27 on all seven files.

proto-cuda/packs-ca4: mx8_sh256x27 (control), mx8_shl256x27, mx8_mm128, mx8_mm512, mx8_mm1430 over seed igneum-genesis, day 2026-10-03, 1 GiB, generator 2 (every export OVERALL PASS on igneum-build-2, 21:40 UTC); unrun on a card (the hash lane's PC 1 job).

Gate: igneum-build-2 `cargo test --release -p igneum-pow`: 64 + 7 + 4 + 19 + 2 + 7 passed, 0 failed (RESULT rc=0, 21:42 UTC).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 21:53:54 +00:00
.claude/agents Igneum: design docs, Metal lottery-hash prototype, CUDA test pack, finality simulation 2026-10-03 15:06:01 +00:00
.github/workflows The overlap sweep joins the gate: one check line in tools/ci/pre-push.sh (self-test, then the built site; IGNEUM_OVERLAP_APPS=1 adds the miner and wallet UIs), CI installs Playwright outside the tree before the gate, the README row; the measurer caches visibility and clip chains per element so a long page reads in seconds (7 October 2026, 16:1x UK) 2026-10-07 13:57:30 +00:00
app Reproducible builds: SOURCE_DATE_EPOCH from the commit's author time, TZ=UTC and one fixed target path in every build path; self-test 2026-10-06 20:09:23 +00:00
brand site-ui-5, deploy 1: the site in the apps' look (7 October 2026, 15:0x UK): one design layer on the app's tokens, the slim bar, the home fold on the shared scene, /download, OS and GPU marks 2026-10-07 13:46:23 +00:00
docs Counter ASIC 4.0 research, second pass: the k-above-1 hunt, the capex lever and the re-ranked list 2026-10-07 21:26:19 +00:00
igneum-census Counter ASIC 3.0 item 8: the latency-shadow knob (LoadClass +sh<S>x<R>), its packs and the PC 2 playbook 2026-10-06 07:58:35 +00:00
igneum-pow Counter ASIC 4.0 research: two experimental program classes behind the pack (no chain class, no consensus change) 2026-10-07 21:53:54 +00:00
infra Merge remote-tracking branch 'origin/master' into peer-directory 2026-10-07 14:18:50 +00:00
packaging Reproducible builds: SOURCE_DATE_EPOCH from the commit's author time, TZ=UTC and one fixed target path in every build path; self-test 2026-10-06 20:09:23 +00:00
pool Pool v0 rebased onto master and the 0.3.14 fork: the program class and era seed ride with every seeds and job line; the re-check test for class v3 and class v4 2026-10-06 18:49:13 +00:00
proto-cuda Counter ASIC 4.0 research: two experimental program classes behind the pack (no chain class, no consensus change) 2026-10-07 21:53:54 +00:00
proto-metal Counter ASIC 3.0 gates (node): the program id carries the class. A class v4 program is generator 4 wherever it is made: the CLI's --era path stamps the generator from the class (era_generator_of: 4 on V4_CLASS, 3 otherwise; ProgramClass::of_load_class), show honours --program-class and --era-hex; the shadow block marks class v4 in packcheck, packfile.h and the Metal worker (a generator 3 pack with IGNEUM_SHADOW_INSTRS is refused as a v4 program stamped v3, a generator 4 pack without it is refused; generator 2 ladder packs unchanged); the seven gate packs re-exported (generator 4, id c120d7963abdcd96 against the v3 control's 73bcbfe8ccf988f1, every other line byte-identical); class-v4.mjs asserts every v4 epoch's id against the CLI's same-seed v3 and v4 ids (--id-check-against v4 is the assertion's failed case); v2 and v3 ids byte-identical (60 + 7 + 4 + 19 + 7, the pinned packs) 2026-10-06 16:24:02 +00:00
proto-newpow Horizon: lane 8 (new-proof-of-work) lands: three schemes, two prototypes measured on rented 4090s 2026-10-06 20:18:39 +00:00
proto-opencl Merge origin/master into ca3-coord: Counter ASIC 3.0 complete (every gate green, P2 green, P1 written); the drive-ref check skips single-quoted here-strings and the copied-sources check reads code lines only (master's CI red on 471832b); main's decisions and the close in the status file 2026-10-06 18:05:54 +00:00
proto-vdf proto-vdf: Wesolowski VDF between the certified checkpoint and the program seed 2026-10-03 16:39:01 +00:00
proving exec 0.3.14 app side on release-0.3.14: the prover exports from one block below and seeds from the account dump; nothing claimed below the restart; the harnesses 2026-10-06 16:59:18 +00:00
relay Console: the job-channel ping (MF-11, 7 October 2026). Every 0.3.21 app names itself on its wake long-poll (machine, version, last job); /wake records one row per machine in relay_wake_seen before it holds; the Machines tab reads "job channel polled N ago, last job X" and, after 15 minutes without a poll, "job channel silent since <time>, last job X" in red, whatever the uploads say (PC 2 lost power at 10:46Z and nothing said so until a person read the intake). Tests in relay/test/wake.test.mjs. 2026-10-07 14:10:59 +00:00
scene Chain scene 2.0.4: the box's height follows the lanes (onSize, autoHeight, the lane geometry in stats) (7 October 2026, 16:3x UK) 2026-10-07 13:58:33 +00:00
sim Mission item 12: the peer-directory fast-time harness (ten listing nodes announcing their loopback p2p address, every node advertising an unroutable external ip so gossip is dead and the directory is the one live source, a fresh node with one genesis peer watched for 8 outbound), the eclipse simulation (the draw as implemented, without replacement, 34 percent attacker over m keys), and peer_directory_activation_daa in the 60x file 2026-10-07 13:14:00 +00:00
site Merge site-ui-5 ce8ad8ca into master (gate: green on ce8ad8ca, recorded by tools/ci/pre-push.sh; the full gate runs in CI on this merge) 2026-10-07 14:09:28 +00:00
tools Counter ASIC 4.0 research: the identity that forbids a zero-premium chip lever, the ranked designs, and the SM-sparse worker variant 2026-10-07 20:55:27 +00:00
.gitignore gitignore: infra/cross/out-workers-box/ (the workers tools/workers-remote.sh fetches from the box) 2026-10-06 19:11:39 +00:00
.vercelignore Commit identity rule and a deploy ignore file 2026-10-03 17:33:46 +00:00
CLAUDE.md Igneum: design docs, Metal lottery-hash prototype, CUDA test pack, finality simulation 2026-10-03 15:06:01 +00:00
rust-toolchain.toml rust-toolchain.toml: one pin for every side (1.99.0, the two cross targets); the mismatch refusal reads it 2026-10-06 23:44:20 +00:00