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

Enable constant loop unrolling for small files #912

Merged
merged 6 commits into from
Feb 12, 2023

Conversation

leunam99
Copy link
Contributor

This adds two small features to the autotuner:
If there are less than 5 loops, they all get unrolled at least 10 times
If the file is small, the congruence domain is enabled.

@leunam99
Copy link
Contributor Author

The numbers worked well enough to only enable the congruence domain for small files on the small part I tested them on but my machine is too slow to run all the tests.
I further just noticed that the option for congruence is not enabled in the sv-comp configuration, because like loop unrolling, at the time I tested it there were a lot of verify errors. Has someone tested it after these were fixed?

@michael-schwarz michael-schwarz changed the title Enable Congruence and constant loop unrolling for small files Enable constant loop unrolling for small files Nov 18, 2022
@michael-schwarz
Copy link
Member

I moved the congruence changes over to #911 so we have two separate PRs.

@michael-schwarz
Copy link
Member

With less than 5 loops, for sv-comp this does not trigger anywhere.

@michael-schwarz
Copy link
Member

To get the results for the tasks we care about to change, we need to apply this if there are less than 17 loops. Will still benchmark that, but it is dubious if this will be positive overall.

@michael-schwarz
Copy link
Member

We will not have time to benchmark this in time for the deadline, so let's move it to 2024.

@michael-schwarz
Copy link
Member

I have now moved this to a separate autotuner forceLoopUnrollForFewLoops that is disabled by default. I propose to merge this now in the interest of reducing the number of stale PRs. We may then investigate the benefits of this option when it is time to prepare the configuration for this year's SV-Comp.

@michael-schwarz michael-schwarz merged commit 5b9a130 into goblint:master Feb 12, 2023
sim642 added a commit to sim642/opam-repository that referenced this pull request Nov 24, 2023
nberth pushed a commit to nberth/opam-repository that referenced this pull request Jun 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
precision sv-comp SV-COMP (analyses, results), witnesses
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants