-
Notifications
You must be signed in to change notification settings - Fork 91
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Commit to FRI first layer #897
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
caec233
to
e25ce71
Compare
16f372f
to
e5089ad
Compare
10483ed
to
28ecf2c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 2
.
Benchmark suite | Current: 2e1da82 | Previous: f6214d1 | Ratio |
---|---|---|---|
iffts/simd ifft/27 |
629093148 ns/iter (± 19830439 ) |
312325137 ns/iter (± 5094310 ) |
2.01 |
merkle throughput/simd merkle |
31928540 ns/iter (± 632902 ) |
14690867 ns/iter (± 434150 ) |
2.17 |
This comment was automatically generated by workflow using github-action-benchmark.
90267f9
to
2e1da82
Compare
e5089ad
to
02fe2b1
Compare
2e1da82
to
72d0c31
Compare
02fe2b1
to
557345d
Compare
72d0c31
to
c62e375
Compare
557345d
to
78be733
Compare
c62e375
to
8c42d17
Compare
78be733
to
c46d77b
Compare
8c42d17
to
2955551
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## dev #897 +/- ##
==========================================
- Coverage 91.95% 91.89% -0.06%
==========================================
Files 93 93
Lines 13308 13251 -57
Branches 13308 13251 -57
==========================================
- Hits 12237 12177 -60
- Misses 954 961 +7
+ Partials 117 113 -4 ☔ View full report in Codecov by Sentry. 🚨 Try these New Features:
|
Suggestion: for (row, &query_position) in query_positions.iter().enumerate() {
let domain_point = commitment_domain.at(bit_reverse_index(query_position, log_size)); |
wdyt? Suggestion: /// values that the verifier needs but cannot deduce from previous computations, in the
/// order they are needed.
/// This complements the values that were queried. These must be supplied directly to
/// the verifier.
pub fri_witness: Vec<SecureField>, |
not sure about the names since it includes all layers. Code quote: first_layer: FriFirstLayerProver<'a, B, MC::H>, |
Here you have 2 eval points per query, right? How does this work after the change? Code quote: queried_values.take(domain.size()).copied().collect_vec(), |
c46d77b
to
ba15488
Compare
2955551
to
402c3e3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewable status: 0 of 11 files reviewed, 4 unresolved discussions (waiting on @ilyalesokhin-starkware and @shaharsamocha7)
crates/prover/src/core/fri.rs
line 658 at r1 (raw file):
Previously, ilyalesokhin-starkware wrote…
wdyt?
LGTM
crates/prover/src/core/pcs/quotients.rs
line 157 at r1 (raw file):
Previously, ilyalesokhin-starkware wrote…
Here you have 2 eval points per query, right?
How does this work after the change?
That was the case previously.
Now only 1 eval per query now with FRI layer 0
crates/prover/src/core/pcs/quotients.rs
line 150 at r1 (raw file):
for &query_position in query_positions { let domain_point = commitment_domain.at(bit_reverse_index(query_position, log_size)); let row = row_index_iter.next().unwrap();
Done tyty
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewable status: 0 of 11 files reviewed, 4 unresolved discussions (waiting on @ilyalesokhin-starkware and @shaharsamocha7)
crates/prover/src/core/fri.rs
line 131 at r1 (raw file):
Previously, ilyalesokhin-starkware wrote…
not sure about the names since it includes all layers.
Open to suggestions.
I guess the way I think about it is that the first layer could includes all possible sizes. But all these polynomials are still commited and folded in a single layer (what I currently have called the first layer).
ba15488
to
bbe8f96
Compare
402c3e3
to
5997c7c
Compare
0b88e46
to
492bb14
Compare
Previously, andrewmilson (Andrew Milson) wrote…
Ok, I see, so it's a commitment rather than an evaluation layer. |
I think this might be a per-log-size configuration rather than a global one. Code quote: // TODO(andrew): Consider making this an `Option` since there may be curcumstances where we
// don't actually want to commit to the first layer evaluations. This is a simple change. FRI
// just returns more query positions for the first layer. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 3 of 11 files at r1, all commit messages.
Reviewable status: 2 of 11 files reviewed, 1 unresolved discussion (waiting on @shaharsamocha7)
492bb14
to
d01b005
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewable status: 2 of 11 files reviewed, 1 unresolved discussion (waiting on @ilyalesokhin-starkware and @shaharsamocha7)
crates/prover/src/core/fri.rs
line 324 at r3 (raw file):
Previously, ilyalesokhin-starkware wrote…
I think this might be a per-log-size configuration rather than a global one.
Updated the TODO. WDYT?
d01b005
to
f8983b3
Compare
f8983b3
to
1be06bd
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 6 of 11 files at r1, 2 of 3 files at r2, 1 of 1 files at r3.
Reviewable status: 8 of 11 files reviewed, all discussions resolved (waiting on @shaharsamocha7)
Return opening positions and query positions per column size in FRI
Add FRI layer 0