Repository navigation
perf(cache): prepare pairing points in parallel - #26
Closed
0xAndoroid wants to merge 1 commit into
Closed
0xAndoroid wants to merge 1 commit into
0xAndoroid wants to merge 1 commit into
Conversation
Collaborator
|
see #27 |
0xAndoroid
added a commit
to a16z/jolt
that referenced
this pull request
Aug 14, 2026
Conflict resolutions: - Cargo.toml: keep the a16z/dory#26 git pin (parallel prepared-point cache init); dory-pcs 0.4.1 on main does not contain that change (dory#26 is closed, 0.4.1 ships dory#27's routine ops only). - Cargo.lock: main's lock + minimal re-resolve for the dory git source. - tracer/src/execution_backend.rs: both sides are additive — keep the parallel Cycle->TraceRow conversion (this PR) alongside the chunked execution seam and its tests (#1728). mod tests keeps the unconditional expect(clippy::unwrap_used) for parallel_cycle_conversion_matches_serial.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
rayon::join; each vector usespar_iter.init_cacheAPI and first-initializer-wins semantics.No
init_cache_prefixAPI is needed: Dory's prover setup already contains exactly2^ceil(max_num_vars / 2)generators per group, the square-grid prefix consumed by the protocol.Benchmarks
Apple M4, 10 cores,
log_n = 34(131,072 G1 + 131,072 G2 generators), release build:maininit_cacheIn the originating Jolt CPU campaign at 2^26, the same preparation tail fell from 16.2 s to 502 ms.
Verification
cargo nextest run --cargo-quiet --features backends,cache: 73/73cargo nextest run --cargo-quiet --features backends,cache,zk: 130/130-D warnings(backends,cache,zk)Companion to a16z/jolt#1737; Jolt will pin this commit until a crates.io release is available.
Authored with Claude Code.