-
Notifications
You must be signed in to change notification settings - Fork 208
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
Auto-Scheduler for Soufflé #2237
Conversation
Codecov Report
@@ Coverage Diff @@
## master #2237 +/- ##
==========================================
- Coverage 75.83% 75.06% -0.77%
==========================================
Files 454 455 +1
Lines 27588 28462 +874
==========================================
+ Hits 20920 21364 +444
- Misses 6668 7098 +430
|
We need a test-case for auto-scheduling. This should be a functional test-case rather than a performance test (this is hard to implement with our current infrastructure). |
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.
- Could you implement the count statements in the synthesiser as well?
- Could you consider using RAM expressions for constants in the counting statements? This would permit packing/unpacking of constant terms and complex constant arithmetic expressions.
Add scheduler functionality test
|
||
/************************************************************************ | ||
* | ||
* @file UniqueKeys.cpp |
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.
Perhaps you rename the file to ProfilingCostCover (or something similar)?
The scheduler test keeps failing. |
Disable scheduler test under windows
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.
Thanks for the contribution!
This PR is to merge our recent auto-scheduler for Soufflé.
Currently, users manually find good join orders for rules (also called schedules) and annotate the rules with plan statements. Our auto-scheduler aims to derive good schedules for the user automatically.
Usage:
souffle <program> -p auto_profile --index-stats
souffle -c <program> --auto-schedule=auto_profile
Fundamental Limitations:
Engineering Limitations: