Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1437 commits
Select commit Hold shift + click to select a range
a2cd242
prover: LAMBDA_VM_BLOCK_MEMLOG=1 prints where the block's host memory is
MauroToscano Oct 2, 2026
39e787e
prover: the block stream's committer queue can be bounded by bytes
MauroToscano Oct 2, 2026
8405e52
prover: the block's finish can bound the chunks it holds at 8 B/cell …
MauroToscano Oct 2, 2026
badec90
prover: a packing finish builds KECCAK_RND packed a block at a time
MauroToscano Oct 2, 2026
98d42ed
prover: the block stream can generate its chunks on threads of their own
MauroToscano Oct 2, 2026
ab807a2
prover: a packing finish builds LT packed a block at a time
MauroToscano Oct 2, 2026
66fb1a6
prover: BLOCK MEM also counts the windows in flight between the strea…
MauroToscano Oct 2, 2026
96d487b
prover: LAMBDA_VM_BLOCK_PURGE=1 returns the freed pages to the OS bef…
MauroToscano Oct 2, 2026
c369843
prover: phase 4 cuts its per-op BITWISE sources into slices
MauroToscano Oct 2, 2026
5c02fd7
prover: LAMBDA_VM_BLOCK_DRAIN_PURGE=1 lets the producer's arenas retu…
MauroToscano Oct 2, 2026
3be24ab
Merge narrow storage on by default (a2cd24207) onto #1013's head 2c44…
MauroToscano Oct 2, 2026
f58edd9
Merge the memory levers (mem/stark-queue 5c02fd718) onto the landing …
MauroToscano Oct 2, 2026
951f860
prover: BLOCK MEM marks the finish's phases
MauroToscano Oct 2, 2026
80a6a07
stark: LAMBDA_VM_FUSED_WALK=mix interleaves the table types in the fu…
MauroToscano Oct 2, 2026
7898d69
prover: finish_sink, the finish's hand-off of its tables to phase A's…
MauroToscano Oct 2, 2026
75b8125
prover: six generator threads by default for the block stream (LAMBDA…
MauroToscano Oct 2, 2026
928d4d2
Merge mem/stark-g6 (75b8125d8) into sched/stark: the memory levers, f…
MauroToscano Oct 2, 2026
161b824
prover: LAMBDA_VM_BLOCK_PACKED_BUILD=0 builds KECCAK_RND and LT wide,…
MauroToscano Oct 2, 2026
3f5a608
prover: phase A's committers take the finish's tables, through a card…
MauroToscano Oct 2, 2026
58b70be
prover: strip the memory knobs that had no effect (purge, drain purge…
MauroToscano Oct 2, 2026
330057f
prover: the packed KECCAK_RND / LT builds off by default (LAMBDA_VM_B…
MauroToscano Oct 2, 2026
ad2c549
prover: the finish keeps LT's ops as segments instead of concatenatin…
MauroToscano Oct 2, 2026
0c1c828
prover: LAMBDA_VM_BLOCK_LT_CONCAT=1 concatenates LT's ops as before (…
MauroToscano Oct 2, 2026
dd88aba
prover: BLOCK MEM reports the process's minor page faults
MauroToscano Oct 2, 2026
0c82bf3
prover: finish_sink, the finish's hand-off of its tables to phase A's…
MauroToscano Oct 2, 2026
9f7dd08
prover: the finish can hand each plain table to a FinishSink as it is…
MauroToscano Oct 2, 2026
8d5a2eb
prover: BLOCK MEM breaks the builder's held bytes down list by list
MauroToscano Oct 2, 2026
f151069
prover: the CPU op at 96 bytes: arg2, the branch decision and the ECA…
MauroToscano Oct 2, 2026
6cb6cd5
prover: MEMW_A ops kept as 48-byte aligned rows (D-EXEC E1 v2)
MauroToscano Oct 2, 2026
cf0ffc3
Merge mem/stark-t2c (9f7dd0824, on #1013 330057f2a) into sched/stark
MauroToscano Oct 2, 2026
3fc90ab
prover: LAMBDA_VM_BLOCK_KR_WIDE_CAP=n caps KECCAK_RND's 64-bit chunks…
MauroToscano Oct 2, 2026
0264633
Merge #1013's head 6cb6cd557 (E1 v2) into sched/stark
MauroToscano Oct 2, 2026
fbd2211
prover: LAMBDA_VM_BLOCK_COMMIT_POOL=n, the committers' commits in a r…
MauroToscano Oct 2, 2026
0a7926c
stark, prover: the phase-B head's instruments (stage spans, thread na…
MauroToscano Oct 2, 2026
0454247
prover: the packed KECCAK_RND / LT builds on by default again (LAMBDA…
MauroToscano Oct 2, 2026
f805464
Merge mem/stark-t2f (045424714) onto #1013's 6cb6cd557 (E1 v2)
MauroToscano Oct 2, 2026
72e2e97
prover: the finish's tables committed in phase A by default, in the c…
MauroToscano Oct 2, 2026
27a1b04
Merge #1013's head f805464f6 (T2 + packed builds on) into sched/stark
MauroToscano Oct 2, 2026
c5b857d
prover: the block tree fans in four by default
MauroToscano Oct 2, 2026
29acb14
stark: a packed main trace has a fast 128-bit digest
MauroToscano Oct 2, 2026
173c767
stark: LAMBDA_VM_KEPT_SUBTREE_ELEMS=n sets each plain table's kept de…
MauroToscano Oct 2, 2026
c8c81f0
stark: a spill store for packed main traces, and the trace's spilled …
MauroToscano Oct 2, 2026
12691b1
stark: the prover reads spilled traces back ahead of its walks
MauroToscano Oct 2, 2026
aa726ce
Merge #1013's head 27a1b048f (S6: the finish's tables committed in ph…
MauroToscano Oct 2, 2026
69d99ce
stark: the digest-off spill test counts refusals and rejections per r…
MauroToscano Oct 2, 2026
bcc9614
stark: a spilled trace pays one pointer: its shape and digest live in…
MauroToscano Oct 2, 2026
86836dd
prover: chunk KECCAK and ECSM on the no-epoch block and cap their hei…
MauroToscano Oct 2, 2026
a5c7613
lfm: spread KECCAK and ECSM chunks past the first by load in the bloc…
MauroToscano Oct 2, 2026
a2dfb9b
stark: TABLE KEPT line per kept top under the table timeline
MauroToscano Oct 2, 2026
34abab7
Merge #1013's head 27a1b048f (lever 1: the finish's tables committed …
MauroToscano Oct 2, 2026
89c66c2
stark: time the OOD absorb's layout and columns as sub-stages of r3_a…
MauroToscano Oct 2, 2026
150660a
prover: the streamed build equals the serial one with KECCAK and ECSM…
MauroToscano Oct 2, 2026
e9ae74c
stark: spill review fixes (i-sched, i-mem3) and the slow-disk admissi…
MauroToscano Oct 2, 2026
3ffac65
Merge #1013's head 27a1b048f (lever 1) into s0/keccak-ecsm-chunked
MauroToscano Oct 2, 2026
ea0eb7d
lfm: spread ECDAS chunks past the first by load in the block tree
MauroToscano Oct 2, 2026
a18b106
lfm: the block partition's model is v2 (chunked accelerators spread b…
MauroToscano Oct 2, 2026
e5db52c
lfm: the production block-tree test names the leaves of each chunked …
MauroToscano Oct 2, 2026
d307980
stark: the kept-depth cap never leaves out more levels than the polic…
MauroToscano Oct 2, 2026
556f3db
prover: the MEMW-derived LT ops held for the finish kept compact (byt…
MauroToscano Oct 2, 2026
d4d3be5
prover: BLOCK MEM names what the heap holds as the prove starts
MauroToscano Oct 2, 2026
f82ea21
prover: A arms for the compact derived LT ops and KECCAK_RND / LT fir…
MauroToscano Oct 2, 2026
98e4974
Merge hash/p1w16-s01 (54b4ada7e): the Poseidon1 width-16 host referen…
MauroToscano Oct 2, 2026
30e97f0
poseidon1: ZisK's base-STARK hashing on the host, checked against Zis…
MauroToscano Oct 2, 2026
5e41769
Merge #1013's head aa726ce2b (fan-in 4 by default) into s0/keccak-ecs…
MauroToscano Oct 2, 2026
e76b611
stark: a register-budgeted lowering of constraint programs
MauroToscano Oct 2, 2026
b68dd7b
prover: the CPU op keeps its DECODE row, not a copy of its decode (96…
MauroToscano Oct 2, 2026
d4eea70
prover: the LOAD op keeps its result as bytes (88 -> 32 bytes)
MauroToscano Oct 2, 2026
083ccc8
Merge mem/stark-k1 (f82ea2162) onto #1013's aa726ce2b (fan-in 4)
MauroToscano Oct 2, 2026
da72109
prover: strip LAMBDA_VM_BLOCK_P5_KR_FIRST (BIG 110: NOT AS PRE-REGIST…
MauroToscano Oct 2, 2026
8dc5ca4
math-cuda: ZisK's Poseidon1 leaf and width-8 grind kernels, and their…
MauroToscano Oct 2, 2026
f93bf11
Merge spill/core (e9ae74c97, S1: the spill store and the prover's rea…
MauroToscano Oct 2, 2026
0da3b8d
math-cuda: the bounded-slot composition interpreter, and a compositio…
MauroToscano Oct 2, 2026
b643ffd
stark, prover: LAMBDA_VM_GPU_INTERP_SI (default off) and the comp_dev…
MauroToscano Oct 2, 2026
aa7d8e4
merkle_tree: arity-4 trees behind a backend constant
MauroToscano Oct 2, 2026
0ee5e13
prover: the block keeps each wide table's tree deeper by default (kep…
MauroToscano Oct 2, 2026
271ef9e
Merge #1013's head aa726ce2b (block tree fan-in 4) into sched/l4 (lev…
MauroToscano Oct 2, 2026
9af04e8
stark: the budgeted validator's ext-slot alignment check reads as is_…
MauroToscano Oct 2, 2026
ccdc5f7
merkle_tree: the cap API verifies arity-4 trees uncapped and refuses …
MauroToscano Oct 2, 2026
888ef7a
prover: the block tree's leaf programs can be emitted in a window (NO…
MauroToscano Oct 2, 2026
154288b
prover: a bound on a tree derivation's concurrent artifact builds (LA…
MauroToscano Oct 2, 2026
9b8773e
stark, math-cuda: name ZisK's Poseidon1 instance as a commitment hash
MauroToscano Oct 2, 2026
cb0818b
prover: S2, phase A spills its committed instances' packed traces by …
MauroToscano Oct 2, 2026
e23ae1b
prover: BLOCK NARROW names the generators as the packers when they run
MauroToscano Oct 2, 2026
20a6aac
stark, math-cuda: specialized opcodes for the hot step shapes
MauroToscano Oct 2, 2026
540d6ac
prover: ZisK's Poseidon1 as a STARK commitment configuration
MauroToscano Oct 2, 2026
77929d9
stark: the budgeted-lowering cache key is a named type
MauroToscano Oct 2, 2026
6ed2c9d
bench_vs: drop a recursion-bench Cargo.lock line a guest build added
MauroToscano Oct 2, 2026
c7a7983
Merge exec2/land-r3 (d4eea70d4, i-exec2's levers 1+2) into the landin…
MauroToscano Oct 2, 2026
3f70050
Merge sched/l4 (e23ae1b05, i-sched2's lever 4a at its default) into t…
MauroToscano Oct 2, 2026
1a676a5
stark: a configuration states its tree arity; Poseidon1 proofs round-…
MauroToscano Oct 2, 2026
297be69
stark, prover: the SI proof-bytes mutant moves every accumulation's c…
MauroToscano Oct 3, 2026
4b70850
Merge #1013's head 5e4176961 (S0a: KECCAK/ECSM chunked) into p1/base
MauroToscano Oct 3, 2026
858b55b
prover: the block tree's node programs can be emitted per node (NOEPO…
MauroToscano Oct 3, 2026
fc2f215
prover: S2 refuses to spill with the disk-spill feature (I-SPILL R13)
MauroToscano Oct 3, 2026
7194827
Merge #1013's head 5e4176961 (S0a: KECCAK/ECSM chunked, partition mod…
MauroToscano Oct 3, 2026
7ef2617
Merge #1013's head 5e4176961 (S0a: KECCAK and ECSM chunked, partition…
MauroToscano Oct 3, 2026
4883b15
prover: the hand-out hands out the window parts a chunk lies in, not …
MauroToscano Oct 2, 2026
08294a8
prover: the walker collects and walks a window 2048 cycles at a time
MauroToscano Oct 2, 2026
54d92e7
prover: the accumulator routes a window into the run's segments in pl…
MauroToscano Oct 2, 2026
db3aae1
prover: the walker sizes each window's lists from the last window's l…
MauroToscano Oct 2, 2026
e1e65c5
prover: the SI bench sizes each program's LDE to fit 6 GiB of inputs
MauroToscano Oct 3, 2026
f4cbb06
math-cuda: ZisK's Poseidon1 on the STARK's device commit paths
MauroToscano Oct 3, 2026
544b1b0
stark, crypto: Poseidon1 device grind, 4-ary device paths and kept tops
MauroToscano Oct 3, 2026
8569163
prover: a base-hash knob for the block path (RPX default, ZisK's Pose…
MauroToscano Oct 3, 2026
b2e5157
prover, stark: load the Poseidon1 kernels before the clock; lint
MauroToscano Oct 3, 2026
26c09d6
math-cuda, stark: staged-program variants of the bounded-slot interpr…
MauroToscano Oct 3, 2026
a6aeb02
math-cuda, stark: staged variants that prefetch the trace cells of st…
MauroToscano Oct 3, 2026
a9c47f9
prover: the P1 grind parity test grinds at the device floor and up
MauroToscano Oct 3, 2026
d74b42a
Merge #1013's next head 7ef261724 (the landing train with S0a and lev…
MauroToscano Oct 3, 2026
ca5b867
stark, math-cuda: the bounded-slot interpreter's automatic per-progra…
MauroToscano Oct 3, 2026
86e71de
prover: eight generators by default (was six), for the producer's wal…
MauroToscano Oct 3, 2026
284e45a
prover: the block tree emits each node's program early by default
MauroToscano Oct 3, 2026
d740eb5
Merge 86e71de77 (#1013's next head: i-sched2's L8 on 7ef261724) into …
MauroToscano Oct 3, 2026
541f4bd
prover: measure a block leaf program's host bytes and the page reuse …
MauroToscano Oct 3, 2026
f44ae33
prover: emit the block tree's leaf programs late in the base's phase …
MauroToscano Oct 3, 2026
fe1fb16
prover: pin every program id of two spread-plan block trees
MauroToscano Oct 3, 2026
1e8bec9
prover: hold an LFM program's instruction vector at its length
MauroToscano Oct 3, 2026
9765138
prover: the block verifier drops each derived program once its child …
MauroToscano Oct 3, 2026
a1d7a94
prover: measure the block verifier's derivation in a process of its own
MauroToscano Oct 3, 2026
7c63c66
prover: print each tree program's roots by slot and the ELF digest in…
MauroToscano Oct 3, 2026
6e7aec3
Merge interp/s2 (the bounded-slot composition interpreter, ca5b86714)…
MauroToscano Oct 3, 2026
dacbd5b
stark: the bounded-slot interpreter is the default for the programs w…
MauroToscano Oct 3, 2026
ad7de24
stark: LogUp arity per table (k interactions per aux column), default…
MauroToscano Oct 3, 2026
8fba8df
prover: LAMBDA_VM_ZF_LOGUP knob, stamped at block_base_options only
MauroToscano Oct 3, 2026
333d1e5
stark: four composition parts on the card (LogUp k4), knob k4 selectable
MauroToscano Oct 3, 2026
b14f1e9
prover: compiled constraint kernels for the k4 table programs
MauroToscano Oct 3, 2026
00430d6
prover: box tests for LogUp k4 (fixture tree, VM negatives)
MauroToscano Oct 3, 2026
1bbc7f2
Merge #1013's head dacbd5b4e (bounded-slot interpreter default) into …
MauroToscano Oct 3, 2026
a1f6e2d
stark: the d4 device tests read where the device puts the data
MauroToscano Oct 3, 2026
c38b0bc
prover: emit the block tree's leaf programs late by default, above an…
MauroToscano Oct 3, 2026
79f6f21
Merge dacbd5b4e (#1013's head: the bounded-slot interpreter default) …
MauroToscano Oct 3, 2026
a87d9aa
stark, prover: one shared VRAM gate for every prove, so the block tre…
MauroToscano Oct 3, 2026
ae4e3c3
Merge tree3/compact (7c63c66f1) into tree3/late (79f6f21c2): one land…
MauroToscano Oct 3, 2026
8f2ce57
Merge tree3/vstream (a1d7a94ba) into tree3/land: the block verifier's…
MauroToscano Oct 3, 2026
a29b6e4
stark, prover, math-cuda: the shared VRAM gate within the card — cali…
MauroToscano Oct 3, 2026
e5b2458
stark, prover: under the shared VRAM gate, a Retain prove's residents…
MauroToscano Oct 3, 2026
c2c0d89
Merge logup/s1 a1f6e2d3f (the d4 device tests read where the device p…
MauroToscano Oct 3, 2026
8f64128
stark, math-cuda: under the shared VRAM gate, the pool releases at ea…
MauroToscano Oct 3, 2026
564dd02
Merge #1013's head 8f2ce57d5 (late leaf emission, compact program for…
MauroToscano Oct 3, 2026
73e3d64
stark: the shared VRAM gate drains the device before its arming calib…
MauroToscano Oct 3, 2026
b0e6199
Merge #1013's head 564dd02bb (LogUp k4 opt-in, default bytes unchange…
MauroToscano Oct 3, 2026
832624e
stark: serialise the shared-gate pin test against the carry tests
MauroToscano Oct 3, 2026
a930189
stark, prover: the shared VRAM gate on by default
MauroToscano Oct 3, 2026
b7f06c9
prover: key the pinned tree ids by the fixture ELF's digest
MauroToscano Oct 3, 2026
5041d54
prover: BLOCK MEM setup splits the AIRs out of the unnamed heap
MauroToscano Oct 3, 2026
4cb0a07
stark, prover: the spill writer's step timings, and spilled traces co…
MauroToscano Oct 3, 2026
edddc68
prover: the block's spill policy is auto by default
MauroToscano Oct 3, 2026
278e6a8
prover: auto's spill target reads cgroup v1 too, and never passes Mem…
MauroToscano Oct 3, 2026
1cc3a70
stark: tight resident claims with a shared headroom under the VRAM gate
MauroToscano Oct 3, 2026
cf253d2
prover: auto counts the cgroup's working set, not its page cache
MauroToscano Oct 3, 2026
fb0dc00
prover: the spill's queue budgets arm only once a spill is plausible
MauroToscano Oct 3, 2026
00871b9
stark: tight resident claims on by default under the shared VRAM gate
MauroToscano Oct 3, 2026
223eb73
Merge #1013's head 00871b913 (tight resident claims under the shared …
MauroToscano Oct 3, 2026
f7ec661
prover: return the allocator's freed pages at named phase boundaries,…
MauroToscano Oct 3, 2026
49cf7d6
prover: the allocator purge runs by default where memory is short (auto)
MauroToscano Oct 3, 2026
b84625e
stark: a running total outside the shared gate can take its calibration
MauroToscano Oct 3, 2026
b554370
prover: bound the block verifier's derivation on the card by bytes
MauroToscano Oct 3, 2026
81ea9bd
prover: the block verifier's device high-water, and the derive gate o…
MauroToscano Oct 3, 2026
035aef5
prover: the derive gate's two checks never panic
MauroToscano Oct 3, 2026
4fc4b7b
prover: LogUp k4 is the default on the STARK base tables
MauroToscano Oct 5, 2026
8f05338
prover: the allocator's purge and statistics go through hooks the bin…
MauroToscano Oct 5, 2026
936c593
lfm: the proof readers the tree arenas are filled from move out of th…
MauroToscano Oct 5, 2026
e0a034f
lfm: the whole-block driver leaves the harness, so the CLI can run it
MauroToscano Oct 5, 2026
d3f29d0
lfm: a block proof file, and its verifier over the existing block ver…
MauroToscano Oct 5, 2026
9ae4325
cli: prove-block and verify-block, through the shared block driver
MauroToscano Oct 5, 2026
c94601a
lfm: the posture holds the knobs the suite env sets, not the purge
MauroToscano Oct 5, 2026
58a58be
lfm: the driver's sampler and node builder never panic
MauroToscano Oct 5, 2026
6b384d5
stark: write a packed main trace a cell at a time (NarrowWriter)
MauroToscano Oct 5, 2026
3155551
prover: G-pack, generators write the block's packed traces directly
MauroToscano Oct 5, 2026
d8a4229
prover: G-pack's real-block gate, every table's packed bytes at 1x
MauroToscano Oct 5, 2026
888df32
lfm: an artifact build takes its shared-gate bytes on its own thread
MauroToscano Oct 5, 2026
70cba45
prover: regeneration probes on the block path (R0), off by default
MauroToscano Oct 5, 2026
a9ae24c
prover: the shadow regenerator on the block path (R1), off by default
MauroToscano Oct 5, 2026
b835505
test(prover): the shadow test prints the shadow's report lines
MauroToscano Oct 5, 2026
5a6604e
prover: the shadow's walker CPU counts building its start state
MauroToscano Oct 5, 2026
f1b724a
stark: dropped main traces and their regeneration slots (R2), inert u…
MauroToscano Oct 5, 2026
fc33f73
stark: regeneration slots per the review: rank-window pacing, a take …
MauroToscano Oct 5, 2026
5614c69
stark: regeneration slots: digest a dropped trace before the window's…
MauroToscano Oct 5, 2026
4467f85
stark: the fused walk takes dropped tables in the window's (rank, id)…
MauroToscano Oct 5, 2026
9ebc982
regen: live regeneration as a tier of auto (R2 step 3, prover side)
MauroToscano Oct 5, 2026
9bd704c
regen: the live regenerator writes packed (G-pack), reserve 10 GiB
MauroToscano Oct 5, 2026
52e999f
regen: step-3 advisories S1-S5, S7 (R-REGEN step-3 review)
MauroToscano Oct 5, 2026
333ae17
regen: no-disk auto (step 4 P1): spill off, regeneration decides
MauroToscano Oct 5, 2026
9e67a9d
regen: pin no-disk test's unarmed run to a fake host (R-REGEN P1 Q1)
MauroToscano Oct 5, 2026
fd68b3f
regen: test that no disk drops later regenerables after the host fall…
MauroToscano Oct 5, 2026
6a2ee58
regen: say what SPILL=off means under live auto regeneration (R-REGEN…
MauroToscano Oct 5, 2026
1a98537
regen: make no disk the block default (I-REGEN §14.9)
MauroToscano Oct 5, 2026
62c34cb
Merge p1/base (a9c47f95c) into #1013's head 1a9853790: Poseidon1 base…
MauroToscano Oct 5, 2026
d1f9806
prover: the paths with no Poseidon1 arm refuse it with a typed error
MauroToscano Oct 5, 2026
b55dd75
bench_vs/recursion: record libc in the RV64 guest workspace's lockfile
MauroToscano Oct 5, 2026
f5e3ccc
bench_vs/recursion: record libc in the RV64 guest workspace's lockfile
MauroToscano Oct 5, 2026
ec88b51
regen: no disk only where live regeneration can drop
MauroToscano Oct 5, 2026
1ae9d97
regen: print the posture line in its unit test
MauroToscano Oct 5, 2026
6bf287a
merkle_tree: Merkle caps on arity-4 trees
MauroToscano Oct 6, 2026
29a2488
stark, prover: Merkle caps on P1's arity-4 trees, default 4-ary height 4
MauroToscano Oct 6, 2026
85522b5
crypto: name the arity-4 cap tests' fixture and check types (clippy)
MauroToscano Oct 6, 2026
4020eb0
prover: the P1 block tamper test flips cap nodes and prints the paths…
MauroToscano Oct 6, 2026
6d25865
math-cuda: stage the precomputed tree's download behind LAMBDA_VM_TRE…
MauroToscano Oct 5, 2026
0d5a173
prover: print the precomputed-tree downloads per path in the block ha…
MauroToscano Oct 5, 2026
814a4b6
math-cuda: make the staged precomputed-tree download the default
MauroToscano Oct 6, 2026
0ba0101
math-cuda: the P1 and RPX launchers refuse a bad shape with an error,…
MauroToscano Oct 6, 2026
1789a88
crypto, stark, prover: no panics left on the P1 hash paths
MauroToscano Oct 6, 2026
a733405
stark, prover: the base hash is a format field, not an environment kn…
MauroToscano Oct 6, 2026
0d0e405
prover: the P1 tamper test proves under the base tables' format
MauroToscano Oct 6, 2026
f5e176f
lfm: a width-16 Poseidon1 socket chip for the recursion (P3 stage 1)
MauroToscano Oct 6, 2026
c7cc6d1
math-cuda: compiled composition kernels for the width-16 socket
MauroToscano Oct 6, 2026
893fc02
lfm: the socket bench runs on the host too, and supplies both leaf-la…
MauroToscano Oct 6, 2026
fa2fa98
lfm: the width-16 socket refuses an output from a padding row
MauroToscano Oct 6, 2026
18745b7
lfm: wire the width-16 Poseidon1 socket into the machine (P3a)
MauroToscano Oct 6, 2026
d16a4de
lfm: ZisK's Poseidon1 constructions as emitted programs (P3a)
MauroToscano Oct 6, 2026
5bef2e8
lfm: a Poseidon1 wrap hash, its transcript replay and grinding check …
MauroToscano Oct 6, 2026
f63dab9
lfm: clippy in the P1 emitter tests (slice::from_ref)
MauroToscano Oct 6, 2026
b3e3c95
lfm, stark: arity-4 caps and shapes, the P1 harvest and the base form…
MauroToscano Oct 6, 2026
3050e2b
lfm: P3a laptop tests and the P1 cost model from the census
MauroToscano Oct 6, 2026
5c7f92a
lfm: the fixture block suites run under the harness's base (P3a)
MauroToscano Oct 6, 2026
c55d476
lfm: the P3a census prints each leaf's groups, cells and cost-law est…
MauroToscano Oct 6, 2026
7901090
lfm: the tree harness names its base and reports the top proof's size…
MauroToscano Oct 6, 2026
b92434a
lfm: the fixture suites print their base; the partition line names th…
MauroToscano Oct 6, 2026
b470a90
lfm: the socket review's R1-R3 tests, and the tokens test on the prod…
MauroToscano Oct 6, 2026
5a0dc92
lfm: the socket review's A1, A2 and A4
MauroToscano Oct 6, 2026
84d3134
lfm: clippy in the socket's cuda-gated descriptor test (clone on a Co…
MauroToscano Oct 6, 2026
ee5f061
lfm, hash_pin: A2's reachability, driven and pinned
MauroToscano Oct 6, 2026
fb39a9c
lfm: P3a interior instruments (the node's per-child-table cost, P1 ag…
MauroToscano Oct 6, 2026
cd1c341
lfm: a host budget for the tree's programs and an ordered streaming e…
MauroToscano Oct 6, 2026
a53f6e4
block tree: emit the tree's programs under the program budget
MauroToscano Oct 6, 2026
26847b6
crypto, math-cuda, prover: the P1 leaf width tag, the bound odd top, …
MauroToscano Oct 6, 2026
a6fabea
crypto: wire the width-tag family tests (p1_leaf_width_tag_tests)
MauroToscano Oct 6, 2026
c6f1c4b
lfm: the ELF constants beside the base on a pool of their own (NOEPOC…
MauroToscano Oct 6, 2026
edfbe2e
lfm: size one socket table per P1 leaf at real block shapes (laptop i…
MauroToscano Oct 6, 2026
58a933e
block tree: purge the allocator after a tree level where the host is …
MauroToscano Oct 6, 2026
49c4bb5
cli: the precomputed-tree cache's posture follows the host target
MauroToscano Oct 6, 2026
82e777c
block tree: name the emitted program's type (clippy)
MauroToscano Oct 6, 2026
fcc14b2
lfm: P1 partition cost model v2, the leaf cap at 260,000 (one LFM_HAS…
MauroToscano Oct 6, 2026
55be528
lfm: the harness's forced leaf count reaches the programs emitted ahead
MauroToscano Oct 6, 2026
a989749
Merge #1013's head 814a4b656 into the P1 landing (p3/base2 55be528d9)
MauroToscano Oct 6, 2026
23e84bc
ci: exercise both base hashes (P1 host-KAT per PR, no-epoch base on t…
MauroToscano Oct 6, 2026
c20697f
prover: the memory log counts the steps each ECSM op's witness owns
MauroToscano Oct 6, 2026
5ae18f9
prover: an ECSM call's double/add steps move into its ECDAS ops (S0e;…
MauroToscano Oct 6, 2026
8de67ba
lfm: the ELF constants' own pool is the default under Poseidon1 only
MauroToscano Oct 6, 2026
20f8d3b
Merge #1013's head 5ae18f9d7 into the P1 landing (8de67baf1)
MauroToscano Oct 6, 2026
0ffdd82
prover: the memory log's builder term reads 0 once the finish consume…
MauroToscano Oct 6, 2026
2f9375f
prover: the builder keeps BRANCH ops delta-coded (S3c-BRANCH port; by…
MauroToscano Oct 6, 2026
603f438
prover: the builder keeps EQ ops delta-coded (S3c-EQ port; byte-ident…
MauroToscano Oct 6, 2026
cf344ba
prover: the builder keeps BYTEWISE ops delta-coded (S3c-BYTEWISE port…
MauroToscano Oct 6, 2026
a20224c
prover: the builder keeps ECDAS rows with 16-bit carries (S3c-ECDAS p…
MauroToscano Oct 6, 2026
0853761
prover: the finish frees each family's op lists as its tables are mad…
MauroToscano Oct 6, 2026
1c39d79
lfm: the tree harness prints a digest of the base's main-trace roots
MauroToscano Oct 6, 2026
829e122
test: the CPU's register-read message and MEMW_R's part at a 2^32 tim…
MauroToscano Oct 6, 2026
c67f811
prover: refuse a run whose clock would reach 2^32 (the CPU's 32-bit t…
MauroToscano Oct 6, 2026
111beb4
prover: the clock guard reads the final PC token through one helper; …
MauroToscano Oct 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
47 changes: 46 additions & 1 deletion .github/workflows/pr_main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -198,10 +198,50 @@ jobs:

# "Test" is a required check — keep this name to avoid branch protection changes.
# This gate job passes only when CLI, executor, disk-spill, and prover tests succeed.
host-kat:
# The device kernels' known-answer gates. `make test-*-host-kat` compiles the
# REAL `.cu` sources as host C++ through
# `crypto/math-cuda/tests/host_kat/cuda_host_shim.h` and runs them against
# external vectors (the official BLAKE3 vectors, miden-crypto's RPO vectors)
# and the committed oracle tables — g++ only, no CUDA, no cargo, seconds. It
# is the only per-PR check on the kernel arithmetic: the GPU parity suites
# (gpu-tests.yml) run on merge_group alone, and until this job existed the
# host-KAT targets lived in no workflow at all. Arithmetic only — nvcc
# acceptance and everything about execution stay with the GPU tests.
name: Host KAT (kernel pins)
runs-on: ubuntu-latest
if: github.event_name != 'push' || github.actor != 'github-merge-queue[bot]'
steps:
- name: Checkout sources
uses: actions/checkout@v4

- name: BLAKE3 host-KAT (7-round and 6-round arms)
run: make test-blake3-host-kat

- name: RPX host-KAT (permutation, leaf sponge, parent, leaf and tree kernels)
run: make test-rpx-host-kat

- name: Poseidon1 W16 host-KAT (permutation, tagged and ZisK leaves, 4-ary node, grind)
run: make test-p1w16-host-kat

- name: Column-major LDE engine host-KAT (NTT passes, coset LDE)
run: make test-ntt-cm-host-kat

- name: WHIR host-KAT (fused round fold, lean first rounds)
run: make test-whir-host-kat

# Second source for the TABLES the BLAKE3 host-KAT trusts: upstream
# BLAKE3's portable C with its round loop parameterised, against the
# committed 6-round vectors and the Python oracle. A ~1 s C compile plus a
# few seconds of Python (cc + python3, both on the runner); it too had no
# workflow before this job.
- name: BLAKE3 second-source check of the 6-round tables
run: make test-blake3-second-source

test:
name: Test
if: always()
needs: [test-executor, test-cli, test-prover, test-disk-spill, test-stark-cuda-lib]
needs: [test-executor, test-cli, test-prover, test-disk-spill, test-stark-cuda-lib, host-kat]
runs-on: ubuntu-latest
steps:
- name: Check results
Expand All @@ -211,12 +251,14 @@ jobs:
prover="${{ needs.test-prover.result }}"
disk_spill="${{ needs.test-disk-spill.result }}"
stark_cuda_lib="${{ needs.test-stark-cuda-lib.result }}"
host_kat="${{ needs.host-kat.result }}"

echo "test-executor: $executor"
echo "test-cli: $cli"
echo "test-prover: $prover"
echo "test-disk-spill: $disk_spill"
echo "test-stark-cuda-lib: $stark_cuda_lib"
echo "host-kat: $host_kat"

# Allow "success" or "skipped" (skipped on merge queue pushes)
if [[ "$executor" != "success" && "$executor" != "skipped" ]]; then
Expand All @@ -234,6 +276,9 @@ jobs:
if [[ "$stark_cuda_lib" != "success" && "$stark_cuda_lib" != "skipped" ]]; then
exit 1
fi
if [[ "$host_kat" != "success" && "$host_kat" != "skipped" ]]; then
exit 1
fi

test-disk-spill:
name: Disk-spill tests
Expand Down
73 changes: 71 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ members = [
"crypto/ecsm",
"crypto/math",
"crypto/math-cuda",
"crypto/multilinear",
"bin/cli",
]
# Riscv-only bare-metal crate, path-dependent from crypto/crypto (target-gated),
Expand Down
Loading
Loading