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

Personalize Quotient Domain per Table #128

Closed
aszepieniec opened this issue Nov 17, 2022 · 3 comments
Closed

Personalize Quotient Domain per Table #128

aszepieniec opened this issue Nov 17, 2022 · 3 comments
Assignees
Labels
🖐 blocked Requires something else first. 🤖 code Changes the implementation ✨ enhancement Improvement or new feature 🟡 prio: medium Not super urgent ⏩ speedup Makes stuff go faster.

Comments

@aszepieniec
Copy link
Collaborator

Every table should have its own quotient domain. This way we can reduce the domain size (and hence number of rows over which the constraints are evaluated) for tables whose AIRs are not of the highest degree. This yields a non-trivial speedup.

@aszepieniec aszepieniec added ✨ enhancement Improvement or new feature 🔴 prio: high Pretty urgent 🤖 code Changes the implementation ⏩ speedup Makes stuff go faster. labels Nov 17, 2022
@aszepieniec
Copy link
Collaborator Author

Here is an illustration why the speedup is both non-trivial and difficult to quantify. Currently, there is no point in reducing the AIR degree of the ProcessorTable below 9 because then the quotient domain is determined by the Hash Table (whose AIR degree remains 9). So even if we reduce the Processor's AIR degree to 5, we would still have to evaluate the constraints on a quotient domain of (9-1)*padded_height. But if we have a quotient domain that's specific to the Processor Table, then we can evaluate the Processor's constraints on a quotient domain of only (5-1)*padded_height, which is half the size.

@jan-ferdinand
Copy link
Member

Once #139 is in place, we can go one step further and use the correct quotient-domain on a per-quotient basis.

@jan-ferdinand jan-ferdinand added 🟡 prio: medium Not super urgent 🖐 blocked Requires something else first. and removed 🔴 prio: high Pretty urgent labels Nov 23, 2022
@jan-ferdinand
Copy link
Member

Going even one step further, the per-quotient personalized domain is the same for every quotient once #143 is in place, i.e., #143 supersedes this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🖐 blocked Requires something else first. 🤖 code Changes the implementation ✨ enhancement Improvement or new feature 🟡 prio: medium Not super urgent ⏩ speedup Makes stuff go faster.
Projects
None yet
Development

No branches or pull requests

2 participants