-
Notifications
You must be signed in to change notification settings - Fork 94
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
fix: Fixed the memory issue #509
fix: Fixed the memory issue #509
Conversation
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.
Looks just a small amount of cleanup left.
@@ -255,7 +297,7 @@ template <typename Arithmetization> class CircuitConstructorBase { | |||
_failed = true; | |||
set_err(msg); | |||
} | |||
}; | |||
}; // namespace proof_system |
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.
This is actually the end of the class definition, not the namespace.
@@ -291,6 +297,24 @@ std::shared_ptr<UltraHonkComposerHelper::Flavor::ProvingKey> UltraHonkComposerHe | |||
proving_key->table_3 = poly_q_table_column_3; | |||
proving_key->table_4 = poly_q_table_column_4; | |||
|
|||
// Copy memory read/write record data into proving key. Prover needs to know which gates contain a read/write |
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.
Since #520, this happens in compute_witness
, right?
* recursive proof-specific public inputs, so we can't check the recursive proof fully in check_circuit. So we use | ||
* this additional function to check that the recursive proof points work. | ||
* | ||
* @return true |
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.
Return documentation is funny.
* Fixed the memory issue * Switched recursion to use check_circuit (but still use composers) * Low-impact fix of circular dependency --------- Co-authored-by: codygunton <codygunton@gmail.com>
* Fixed the memory issue * Switched recursion to use check_circuit (but still use composers) * Low-impact fix of circular dependency --------- Co-authored-by: codygunton <codygunton@gmail.com>
Description
Fixed the issue we had with Ultra RAM and ROM after splitting, where check_circuit was confused by public inputs after circuit finalisation.
Also changed recursion to do the final check with check_circuit + an auxiliary function that check the recursive proof point pairing.
Checklist:
/markdown/specs
have been updated.@brief
describing the intended functionality.