Skip to content

Enable constant loop unrolling for small files#912

Merged
michael-schwarz merged 6 commits intogoblint:masterfrom
manuel-pietsch:master
Feb 12, 2023
Merged

Enable constant loop unrolling for small files#912
michael-schwarz merged 6 commits intogoblint:masterfrom
manuel-pietsch:master

Conversation

@manuel-pietsch
Copy link
Copy Markdown
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.

@manuel-pietsch
Copy link
Copy Markdown
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
Copy Markdown
Member

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

@michael-schwarz
Copy link
Copy Markdown
Member

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

@michael-schwarz
Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
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