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

Gate number tracking after splitting into blocks #910

Closed
Rumata888 opened this issue Mar 15, 2024 · 0 comments · Fixed by AztecProtocol/aztec-packages#5252
Closed

Gate number tracking after splitting into blocks #910

Rumata888 opened this issue Mar 15, 2024 · 0 comments · Fixed by AztecProtocol/aztec-packages#5252
Labels
enhancement New feature or request

Comments

@Rumata888
Copy link
Contributor

With the split of the artihmetic in circuit builders into blocks we no longer have and individual stream of gates until we create the instance, which makes debugging issues with gates problematic. It would be nice to add an API like "get_commited_gates" to the builder. The return type could be a tuple, representing current number of gates in each block

@Rumata888 Rumata888 added the enhancement New feature or request label Mar 15, 2024
AztecBot pushed a commit that referenced this issue Mar 20, 2024
This work results in an execution trace fully sorted by gate type.

Prior to this PR, all of the infrastructure was added to construct and
process a sorted execution trace. Each builder has a `blocks` object
which essentially holds a {`wires`, `selectors`} pair for each gate
type. Up until now, all gates were being added into `blocks.main`, which
is equivalent to what we've always done. This PR simply adds gates into
their appropriate specialized block, e.g. arithmetic gates are added
into `blocks.arithmetic` and auxiliary gates are added into
`blocks.aux`. After being processed in the `ExecutionTrace` class, this
results in an execution trace sorted by gate type.

Note: This PR adds dummy gates in several new locations to account for
the fact that some gates of a particular type were previously reading
into a subsequent gate of different type, which breaks once the gates
are sorted by type.
Note: This PR does not include any logic for taking advantage of the
sorted structure.

Closes #867 (gates
are sorted)
Closes #873 (no more
gate interleaving assumptions, except ones now identified in more
specific issues)
Closes #910 (gate
type summary via blocks.summarize())
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant