-
Notifications
You must be signed in to change notification settings - Fork 96
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: Sorted execution trace (#5252)
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())
- Loading branch information
1 parent
aa3cb2b
commit 5dc1139
Showing
11 changed files
with
824 additions
and
669 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.