Skip to content
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

feat: Use zeroes instead of simulator states as unused part of RAM permutation witness #47

Merged
merged 3 commits into from
Oct 2, 2024

Conversation

0xVolosnikov
Copy link
Contributor

@0xVolosnikov 0xVolosnikov commented Sep 30, 2024

Since queue states ([F; SW] part of witness)​​ aren't actually used by RAM permutation circuit, we can remove this RAM-heavy data from witness for this type of circuits.

This PR is first part of this change, which aims to be backwards compatible with current proving subsystem. Another PR that breaks backwards compatibility will contain removal of this field from the RAM witness completely.

@0xVolosnikov 0xVolosnikov marked this pull request as ready for review September 30, 2024 16:13
@0xVolosnikov
Copy link
Contributor Author

Additional cleanup, especially related to memory queues simulators, will also be in the next PR-s

@0xVolosnikov 0xVolosnikov changed the title feat: Initial simplify memory-related circuits processing feat: Use zeroes instead of simulator states as unused part of RAM permutation witness Oct 1, 2024
@shamatar
Copy link
Member

shamatar commented Oct 1, 2024

Did you have a successful generation of proofs after that change? If yes, we can accept

@shamatar
Copy link
Member

shamatar commented Oct 1, 2024

But do you think if it's easier to change circuits code to update the type of witness, so it doesn't even bear those zeroed fields?

@0xVolosnikov
Copy link
Contributor Author

@shamatar

Did you have a successful generation of proofs after that change?

Yes

if it's easier to change circuits code to update the type of witness

Yes, but I would like to do this separately, perhaps as part of a general update. Since it would break backward compatibility. But yes, this is generally the next step: #48

@0xVolosnikov 0xVolosnikov merged commit a336980 into main Oct 2, 2024
9 checks passed
@0xVolosnikov 0xVolosnikov deleted the vv-simplify-ram-witgen-initial branch October 2, 2024 09:51
0xVolosnikov pushed a commit that referenced this pull request Oct 16, 2024
🤖 I have created a release *beep* *boop*
---


##
[0.150.6](v0.150.5...v0.150.6)
(2024-10-07)


### Features

* Remove unneeded data and calculations from simulators in witgen
([#18](#18))
([7316caf](7316caf))
* Reorganize witgen
([#49](#49))
([9bf5cf8](9bf5cf8))
* Use zeroes instead of simulator states as unused part of RAM
permutation witness
([#47](#47))
([a336980](a336980))


### Bug Fixes

* Simplify closed_form_witness_from_full_form
([#38](#38))
([af3d4c4](af3d4c4))
* **zkevm_test_harness:** Reduce ExtendedLogQuery RAM usage
([#44](#44))
([eecf79a](eecf79a))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: zksync-era-bot <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants