Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
1015096
parallel: in-house fixed thread pool; port eq_mle and sumcheck off rayon
TomWambsgans May 29, 2026
2c46cf9
sumcheck: port clean reductions to parallel::map_reduce
TomWambsgans May 29, 2026
aa773e0
parallel/sumcheck: per-worker scratch in sumcheck_compute_core
TomWambsgans May 29, 2026
56d2a59
parallel: lock-free spin-then-park dispatch (replaces std::Barrier)
TomWambsgans May 29, 2026
bde9674
parallel: nested dispatch falls back to sequential (no deadlock)
TomWambsgans May 29, 2026
9d67ff9
parallel: port field/poly/sumcheck off rayon (evals, utils, product_c…
TomWambsgans May 29, 2026
b19131a
parallel: port symetric merkle + fiat-shamir grinding off rayon
TomWambsgans May 29, 2026
dc3b813
parallel: port whir (dft/merkle/open/utils) off rayon
TomWambsgans May 29, 2026
f5dd79c
parallel: port sub_protocols (logup/gkr/air_sumcheck) off rayon; re-e…
TomWambsgans May 29, 2026
c861081
parallel: port lean_vm/lean_prover/xmss/rec_aggregation/lean_compiler…
TomWambsgans May 29, 2026
ad94319
parallel: teardown rayon — drop deps, flush_rayon hack, backend re-ex…
TomWambsgans May 29, 2026
60eb3c2
parallel: guided self-scheduling + flatten dft butterflies + chunk pr…
TomWambsgans May 29, 2026
258c38e
parallel: range-based core dispatch (for_each_chunk)
TomWambsgans May 29, 2026
36f7412
parallel: lower spin limit to 2^12 to reduce variance during sequenti…
TomWambsgans May 29, 2026
da01c45
sumcheck: product reductions use in-place per-worker accumulation
TomWambsgans May 29, 2026
acdf8ac
gitignore: ignore sibling /target-* build dirs and /.lm-* scratch bin…
TomWambsgans May 29, 2026
e638df9
lean_vm: in-place get_slice_into for Poseidon inputs (avoid ~100K Vec…
TomWambsgans May 29, 2026
22c66f7
alloc: replace zk-alloc bump arena with tuned mimalloc
TomWambsgans May 29, 2026
29bb74b
poseidon: stack-allocate per-row column pointer arrays in trace gen
TomWambsgans May 29, 2026
c7af020
whir: stack-allocate single-element dimensions array in verify
TomWambsgans May 29, 2026
6eabeef
sumcheck: reuse per-worker point/rows scratch in fold+split-eq comput…
TomWambsgans May 29, 2026
c594a79
poseidon: bind fixed-size array ref to elide per-row bounds checks in…
TomWambsgans May 29, 2026
de4a5e4
Merge branch 'main' into remove-small-allocs
TomWambsgans May 29, 2026
dc884da
Merge branch 'remove-small-allocs' into custom-thread-pool
TomWambsgans May 29, 2026
96c0ee9
alloc: disable THP for the prover (fixes ~50% intermittent slowdown o…
TomWambsgans May 29, 2026
cb39573
parallel: centralize per-worker-slot unsafe; tidy dispatch
TomWambsgans May 29, 2026
c7d6883
parallel: centralize SendPtr + chunk-size heuristic across the workspace
TomWambsgans May 29, 2026
c5e90c8
eq_mle: trim the duplicated 10-line packing-width caveat to 2 lines
TomWambsgans May 29, 2026
d3fdad1
eq_mle: extract shared par_eval_eq tail from the compute_eval_eq vari…
TomWambsgans May 29, 2026
39d2cf9
sumcheck: tighten build_evals body to a one-line map_or
TomWambsgans May 29, 2026
b6d26c2
fmt
TomWambsgans May 29, 2026
8be26e5
lean_compiler: collapse if into match guard (clippy -Dwarnings)
TomWambsgans May 29, 2026
3df0314
Merge branch 'main' into custom-thread-pool
TomWambsgans May 29, 2026
5313b1a
simplify
TomWambsgans May 30, 2026
a9e53ea
remove tests
TomWambsgans May 30, 2026
e27782f
muucch faster prepare_evals_for_fft_unpacked
TomWambsgans May 30, 2026
3c2239c
Merge remote-tracking branch 'origin/main' into custom-thread-pool
TomWambsgans May 30, 2026
4bddf8d
simplify
TomWambsgans May 30, 2026
72d8198
perf: faster `prepare_evals_for_fft_packed_extension`
TomWambsgans May 30, 2026
ad84254
forbid nested parallelism
TomWambsgans May 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
/target
/target-*
/.lm-*
.vscode
/docs/benchmark_graphs/.venv
minimal_zkVM.synctex.gz
Expand Down
129 changes: 64 additions & 65 deletions Cargo.lock

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

12 changes: 7 additions & 5 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ members = [
"crates/backend/fiat-shamir",
"crates/backend/sumcheck",
"crates/backend/system-info",
"crates/backend/zk-alloc",
"crates/backend/parallel",
]

[workspace.lints]
Expand Down Expand Up @@ -61,14 +61,13 @@ lean_compiler = { path = "crates/lean_compiler" }
lean_prover = { path = "crates/lean_prover" }
rec_aggregation = { path = "crates/rec_aggregation" }
backend = { path = "crates/backend" }
zk-alloc = { path = "crates/backend/zk-alloc" }
system-info = { path = "crates/backend/system-info" }
parallel = { path = "crates/backend/parallel" }

# External
sha3 = "0.11.0"
clap = { version = "4.5.59", features = ["derive"] }
rand = "0.10.0"
rayon = "1.11.0"
pest = "2.7"
pest_derive = "2.7"
itertools = "0.14.0"
Expand All @@ -83,12 +82,15 @@ include_dir = "0.7"

[features]
prox-gaps-conjecture = ["rec_aggregation/prox-gaps-conjecture"]
standard-alloc = ["rec_aggregation/standard-alloc"]
# Build with the plain system allocator instead of mimalloc (for comparison/debugging).
standard-alloc = []

[dependencies]
clap.workspace = true
rec_aggregation.workspace = true
zk-alloc.workspace = true
mimalloc = "0.1"
libmimalloc-sys = { version = "0.1", features = ["extended"] }
libc = "0.2"
rand.workspace = true
sub_protocols.workspace = true
utils.workspace = true
Expand Down
2 changes: 1 addition & 1 deletion crates/backend/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ poly = { path = "poly", package = "mt-poly" }
sumcheck = { path = "sumcheck", package = "mt-sumcheck" }
field = { path = "field", package = "mt-field" }
air = { path = "air", package = "mt-air" }
rayon.workspace = true
parallel.workspace = true
whir = { path = "../whir", package = "mt-whir" }
tracing.workspace = true
fiat-shamir = { path = "fiat-shamir", package = "mt-fiat-shamir" }
Expand Down
2 changes: 1 addition & 1 deletion crates/backend/fiat-shamir/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ symetric = { path = "../symetric", package = "mt-symetric" }
utils = { path = "../utils", package = "mt-utils" }
tracing.workspace = true
serde.workspace = true
rayon.workspace = true
parallel.workspace = true
Loading
Loading