-
Notifications
You must be signed in to change notification settings - Fork 196
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
Mark variables with segment numbers #341
base: main
Are you sure you want to change the base?
Conversation
commit cd8559dd3b08261121e4ac797bd364de317c9467 Author: Forpee <khalilhassam3@gmail.com> Date: Wed Nov 6 12:38:02 2024 +0200 chore: restore cargo commit f190e75d215b8a73d66c559d427b5e536ddb9c4e Author: Forpee <khalilhassam3@gmail.com> Date: Wed Nov 6 12:32:32 2024 +0200 chore: fix warnings, docs, clippy, fmt commit b849a82e2d142c0fd1564721785295c67c4f2d34 Author: Forpee <khalilhassam3@gmail.com> Date: Wed Nov 6 11:56:28 2024 +0200 chore: do some doc comments commit 1fb584f14216f187a42b0eae9e5550042c08e31c Author: Forpee <khalilhassam3@gmail.com> Date: Wed Nov 6 11:39:23 2024 +0200 chore: clean up warnings commit c68b709c53e812bac02bf09f43c08b0f8ce9f1bb Author: Forpee <khalilhassam3@gmail.com> Date: Wed Nov 6 11:28:21 2024 +0200 feat: add alloc_precommitted commit 1642f15efb44c88a990f3e84e9c2a9d11b7bb735 Author: Forpee <khalilhassam3@gmail.com> Date: Wed Nov 6 11:18:36 2024 +0200 feat: init precommitted var commit 4aa27a7a32073bf6a3e87d5a9f9cafc2a305b853 Author: Forpee <khalilhassam3@gmail.com> Date: Wed Nov 6 10:53:59 2024 +0200 chore: make poseidon folder commit 110e782d888e56c9ea2fba75b807e201f97bc2c1 Author: Forpee <khalilhassam3@gmail.com> Date: Tue Nov 5 23:05:29 2024 +0200 chore: rm doc tests commit e9426b2d30078841c2b17492ce96e26e19d41d47 Author: Forpee <khalilhassam3@gmail.com> Date: Tue Nov 5 23:05:04 2024 +0200 fix: poseidon in pp commit aa12cbf04bdab6e5d18f45dceb0de6f33dd25dd5 Author: Forpee <khalilhassam3@gmail.com> Date: Tue Nov 5 22:04:57 2024 +0200 feat: init new CS commit 54cb3dfd0df2cc4bbde97b475daa4058680d14ff Author: Forpee <khalilhassam3@gmail.com> Date: Tue Nov 5 20:38:43 2024 +0200 feat: port poseidon sponge commit e1368fdd74cd52cbcf65143e6e19d391a861ad66 Author: Forpee <khalilhassam3@gmail.com> Date: Tue Nov 5 20:34:12 2024 +0200 feat: implement poseidon commit 3d2e6fad71016afcec88f24c8219240e366f047e Author: Forpee <khalilhassam3@gmail.com> Date: Tue Nov 5 18:41:20 2024 +0200 feat: poseidon consts commit f002464ab64933aa05667976ea9a2e3249ba552d Author: Forpee <khalilhassam3@gmail.com> Date: Tue Nov 5 18:41:09 2024 +0200 feat: init CS commit 9ee87f60e2073ceb9031a93f1056ef10fb241ce2 Author: Forpee <khalilhassam3@gmail.com> Date: Tue Nov 5 14:40:46 2024 +0200 fix: cargo
@Acentelles please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
Contributor License AgreementContribution License AgreementThis Contribution License Agreement (“Agreement”) is agreed to by the party signing below (“You”),
|
@@ -72,7 +72,7 @@ name = "ppsnark" | |||
harness = false | |||
|
|||
[features] | |||
default = ["halo2curves/asm"] | |||
# default = ["halo2curves/asm"] |
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.
Nit: bring this back?
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.
I can bring it back. The reason is that I get the following error when I compile the code with this default enabled:
Currently feature `asm` can only be enabled on x86_64 arch.
This means that the assembly optimizations feature in halo2curves
is only compatible with x86_64 architecture processors, and I am running an ARM processor (Apple M3 in particular).
Maybe I can open an issue with it. What do you think?
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.
For non-x86 platforms, one could use --no-default-features
. See for example:
https://github.com/microsoft/Nova?tab=readme-ov-file#tests-and-examples
@Acentelles in the current PR, the witness isn't committed separately i.e., segment by segment, right? |
Right, the witness isn't committed separately in this PR. Is that something you'd like to add? |
Yes, otherwise, we won't have use for marking witness elements with segment numbers. See #338 |
This PR marks variables with "rounds" or "segments". This will allow us to build randomized circuits made from interactive protocols of the following form:
When the witness vector is constructed, we want the code to be able to automatically build w1, w2, etc. so they can be committed separately. We could think of witness to be committed in segments or chunks or rounds. So, when allocating a variable, we want to be able to specify the "segment number".
We want to make sure if within a namespace we call some gadget, all variables allocated inside the gadget fall into the same segment as the caller.