Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1323 commits
Select commit Hold shift + click to select a range
0428c39
stark: prove the residency-mode tests without grinding
MauroToscano Sep 28, 2026
8934b59
Merge the residency-test determinism fix (0428c393b) into per-table-gpu
MauroToscano Sep 28, 2026
e413989
feat(lfm): STARK wraps attest program_id host-side by default
MauroToscano Sep 28, 2026
2b96de5
prover: build LFM artifacts through a walk that can run as host and d…
MauroToscano Sep 28, 2026
9cea599
whir: carry only the nonces a round spends, under a NonceLayout forma…
MauroToscano Sep 28, 2026
ef6d4be
prover: level-0 card-schedule knobs SCOPE, NICE and AHEAD (all defaul…
MauroToscano Sep 28, 2026
ce292de
zf: WHIR chains grind before their queries only by default (P2)
MauroToscano Sep 28, 2026
b4cbe73
stark, math-cuda: build a prove's domain, twiddle and staging state a…
MauroToscano Sep 28, 2026
a40150f
stark: build the out-of-domain columns on the calling thread (LAMBDA_…
MauroToscano Sep 28, 2026
2169ac8
prover: run the STARK base's head ahead of epoch 0 (LAMBDA_VM_BASE_HE…
MauroToscano Sep 28, 2026
89f8772
prover: run the tree lead-in's prologues in a pool of their own (LFM_…
MauroToscano Sep 28, 2026
95e38d6
stark: name the device-only envelope in the log
MauroToscano Sep 28, 2026
04383a6
prover: make the base head's device path observable
MauroToscano Sep 28, 2026
b4506b7
zf, whir: say why P2 costs no proven bits, not what it once measured
MauroToscano Sep 28, 2026
536b47b
test(lfm): the inner-node gate proves at a quarter of the fixture epoch
MauroToscano Sep 29, 2026
3fd644e
prover: NICE gives each calling thread its own host pool (card_schedu…
MauroToscano Sep 29, 2026
536a1c2
stark: lower the device-only envelope's default to LDE 2^16
MauroToscano Sep 29, 2026
3727520
prover: run the STARK base's head ahead by default
MauroToscano Sep 29, 2026
920c849
prover: run the STARK tree's lead-in prologues in a pool of their own…
MauroToscano Sep 29, 2026
add2118
test(lfm): the inner-node gate compares the node with the leaf it car…
MauroToscano Sep 29, 2026
ece5232
prover: add a pool per helper as a value of LFM_TREE_TAIL_THREADS
MauroToscano Sep 29, 2026
ebbba83
Merge P2-W (b4506b719, #1010) into the STARK pipeline
MauroToscano Sep 29, 2026
d1d443b
prover: build the STARK tree's lead-in prologues in a pool of 8 per h…
MauroToscano Sep 29, 2026
13d9267
Merge R1b (add21183c): the STARK wrap attests its program_id host-sid…
MauroToscano Sep 29, 2026
f2967e1
Merge F-SIDLE (d1d443b65): less idle card in the STARK base and tree …
MauroToscano Sep 29, 2026
bbdac70
rpx: compute the MDS over a compile-time matrix, not a from_fn closure
MauroToscano Sep 29, 2026
faddcfe
Merge F-PREP (bbdac70b2): the RPX MDS fix and the level-0 card-schedu…
MauroToscano Sep 29, 2026
37d819a
prover: run level-0 host phases at nice 10 by default (NICE v2)
MauroToscano Sep 29, 2026
e2ab359
stark, math-cuda: compiled constraint-composition kernels (LAMBDA_VM_…
MauroToscano Sep 30, 2026
422c4b2
prover, stark: prove the compiled-kernel byte test from one set of tr…
MauroToscano Sep 30, 2026
cc411aa
stark: compiled constraint-composition kernels by default
MauroToscano Sep 30, 2026
1b4bb4a
stark, prover: no-epoch block prover with a device LDE recommit (S1 m…
MauroToscano Sep 30, 2026
ae11e23
prover: the epoch base on the same binary, as the no-epoch block harn…
MauroToscano Sep 30, 2026
630fa91
prover: prove the recommit refusal on fib_iterative_160k, whose CPU t…
MauroToscano Sep 30, 2026
4ca8e6f
stark: packing admission for the VRAM gate and a per-table timeline, …
MauroToscano Sep 30, 2026
a4f1cb9
prover, stark: chunk KECCAK_RND in the no-epoch block (S2), a block v…
MauroToscano Sep 30, 2026
62afd8e
stark, prover: a Round-1 precommit API, and the block warms its prepr…
MauroToscano Sep 30, 2026
fe3f6bf
prover: derive the ELF data pages' preprocessed roots on the device d…
MauroToscano Sep 30, 2026
cea6a10
prover: stream phase A of the no-epoch block — windowed execution, an…
MauroToscano Sep 30, 2026
199ff35
stark, math-cuda: kept top levels — the no-epoch recommit re-runs the…
MauroToscano Oct 1, 2026
3a5d02d
stark: rebuild the kept-top-levels subtrees in parallel, and a timeli…
MauroToscano Oct 1, 2026
e679e43
prover, stark: the block streams through the shared windowed builder,…
MauroToscano Oct 1, 2026
1276ab9
prover: the no-epoch block's recursion programs — the shared front, t…
MauroToscano Oct 1, 2026
2ec45eb
prover: tests and the box harness for the no-epoch block's recursion
MauroToscano Oct 1, 2026
0dff9a6
prover: the block tree's final check pins the top program derived fro…
MauroToscano Oct 1, 2026
a0ce921
prover: the block harness verifies the base beside level 0
MauroToscano Oct 1, 2026
657e82a
prover: a refused whole-block proof names its table and check
MauroToscano Oct 1, 2026
e4ff3f8
prover: the windowed builder compiles without the parallel feature
MauroToscano Oct 1, 2026
9b2f3e5
prover: the fixture tree refuses a tree that skips or repeats an inst…
MauroToscano Oct 1, 2026
e80674f
stark, math-cuda: the resident aux build waits for the stream that wr…
MauroToscano Oct 1, 2026
f1dfe54
prover: derive per-table shapes from the AIR, never from a proof
MauroToscano Oct 1, 2026
60906bb
prover: correct the data-page root cache doc
MauroToscano Oct 1, 2026
a0954fd
prover: the block tree plan derives every program from the ELF and th…
MauroToscano Oct 1, 2026
cda6204
Merge noepoch/stark (the resident aux build's stream wait) into noepo…
MauroToscano Oct 1, 2026
8e8924a
prover: a nonzero pad byte in the block output's last half is refused
MauroToscano Oct 1, 2026
a253d9a
prover: the block plan can take its ELF constants from ahead of the s…
MauroToscano Oct 1, 2026
a684f4f
prover: the block tree test computes the ELF constants beside the bas…
MauroToscano Oct 1, 2026
a1a3a2c
prover: the block verifier's follow-ups from review F1
MauroToscano Oct 1, 2026
ade0abc
prover: the windowed builder appends the walk in place, and stamps it…
MauroToscano Oct 1, 2026
4d1f148
prover: the windowed builder can hand out chunk jobs instead of gener…
MauroToscano Oct 1, 2026
a56897d
prover: split the windowed builder into a walker and an accumulator f…
MauroToscano Oct 1, 2026
bf64b05
prover: the windowed builder keeps walked windows whole and concatena…
MauroToscano Oct 1, 2026
6dd6ab0
prover: the windowed builder counts BITWISE's two dominant sources as…
MauroToscano Oct 1, 2026
a241401
prover: a box test that the windowed build of a real block is the who…
MauroToscano Oct 1, 2026
d79337e
prover: the determinism test digests tables streamed, not materialized
MauroToscano Oct 1, 2026
5fe8316
prover: the windowed builder's walker split compiles without the para…
MauroToscano Oct 1, 2026
e7406d6
prover: phase A walks on a thread of its own and the committers gener…
MauroToscano Oct 1, 2026
6b86432
prover: the block verifier takes cached ELF constants, derives each l…
MauroToscano Oct 1, 2026
a7725d4
prover: the windowed builder compiles without the parallel feature
MauroToscano Oct 1, 2026
7b8deab
prover: the block tree can derive its programs beside the base and ve…
MauroToscano Oct 1, 2026
e328eb3
prover: the block tree takes its own fan-in, 2 by default
MauroToscano Oct 1, 2026
3992a56
prover: the block tree verifies its children beside the timed path by…
MauroToscano Oct 1, 2026
686518c
prover: the block tree's programs can be pipelined into level 0 (NOEP…
MauroToscano Oct 1, 2026
f6445c8
prover: the block tree pipelines its programs into level 0 by default
MauroToscano Oct 1, 2026
7da2a45
prover: the pipeline builder can emit node programs on its own pool
MauroToscano Oct 1, 2026
e029731
prover: the windowed builder concatenates its windows in parallel
MauroToscano Oct 1, 2026
08ecc43
prover: the pipeline builder emits node programs on its own pool by d…
MauroToscano Oct 1, 2026
35881f8
prover: chunk ECDAS on the no-epoch block and cap the chunked tables'…
MauroToscano Oct 1, 2026
23b3c81
lfm: the block tree verifies a chunked ECDAS and refuses one over its…
MauroToscano Oct 1, 2026
36f1dc9
prover: the windowed builder can stream MEMW-derived LT ops (block path)
MauroToscano Oct 1, 2026
5df295c
prover: the windowed builder can drop each streamed chunk's ops as it…
MauroToscano Oct 1, 2026
0d14f7b
prover: LAMBDA_VM_BLOCK_DROP_OPS=1 drops the streamed chunks' ops in …
MauroToscano Oct 1, 2026
f66d8e4
test(prover): dropping the streamed ops keeps a chunked ECDAS the same
MauroToscano Oct 1, 2026
acbc11b
prover: the block drops each streamed chunk's ops as it leaves by def…
MauroToscano Oct 1, 2026
e9e5a88
test(prover): the real-block windowed build equals the whole-run buil…
MauroToscano Oct 2, 2026
0fe8e4f
prover: the block keeps its trees' tops above six levels, not three
MauroToscano Oct 2, 2026
6447ab6
prover: the hash-ordered tables hash with one state per process
MauroToscano Oct 2, 2026
19fe5e9
test(prover): the real-block STARK test prints a digest of the proof …
MauroToscano Oct 2, 2026
9c6ef32
stark: a main trace can be held packed, each column at the bytes it n…
MauroToscano Oct 2, 2026
c23dbf1
math-cuda: widen a packed trace on the device into the LDE's input
MauroToscano Oct 2, 2026
1cb3a33
stark: the kept-top recompute widens a packed main trace on the device
MauroToscano Oct 2, 2026
8c94ce6
prover: LAMBDA_VM_BLOCK_NARROW=1 packs the streamed instances after t…
MauroToscano Oct 2, 2026
684d10c
test(stark): the bad-widen refusal is checked against the kept-top me…
MauroToscano Oct 2, 2026
b281136
stark: pack a main trace on the caller's thread, one width-specialise…
MauroToscano Oct 2, 2026
2bde202
prover: the windowed builder walks lean (D-EXEC E1)
MauroToscano Oct 2, 2026
df9c015
test(prover): the lean walk builds the whole-run tables, part by part
MauroToscano Oct 2, 2026
1068650
math-cuda: pack a column-major trace on the device
MauroToscano Oct 2, 2026
be277ac
stark: a commit can pack its trace on the device before the snapshot …
MauroToscano Oct 2, 2026
58f136e
prover: LAMBDA_VM_BLOCK_NARROW=1 packs on the device after each commit
MauroToscano Oct 2, 2026
cbdf327
math-cuda: the keep commit with a Merkle tree can take a packed trace
MauroToscano Oct 2, 2026
c0d541a
stark: a packed trace commits from its packed columns in Round 1
MauroToscano Oct 2, 2026
30af75a
prover: the windowed builder can pack the tables its finish builds
MauroToscano Oct 2, 2026
184f524
prover: LAMBDA_VM_BLOCK_NARROW=2 also packs the tables phase A's fini…
MauroToscano Oct 2, 2026
2c440b8
executor: guest memory in 64 KiB pages found by directory (D-EXEC E4)
MauroToscano Oct 2, 2026
8ef2f88
prover: narrow storage on by default for the block (LAMBDA_VM_BLOCK_N…
MauroToscano Oct 2, 2026
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
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
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
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
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
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
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
297be69
stark, prover: the SI proof-bytes mutant moves every accumulation's c…
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
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
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
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
  •  
  •  
  •  
44 changes: 43 additions & 1 deletion .github/workflows/pr_main.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -198,10 +198,47 @@ 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: 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 +248,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 +273,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
71 changes: 69 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