-
Notifications
You must be signed in to change notification settings - Fork 13
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
Internal/nested sweeping/exec policy settings #608
Internal/nested sweeping/exec policy settings #608
Conversation
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #608 +/- ##
=============================================
+ Coverage 97.061% 97.142% +0.081%
=============================================
Files 88 88
Lines 6227 6264 +37
=============================================
+ Hits 6044 6085 +41
+ Misses 183 179 -4 ☔ View full report in Codecov by Sentry. |
The overhead introduced for the 'Always_Canonical' and 'Final_Canonical' are minimal
This is extremely cheap to check. So, why not...?
Furthermore, this makes them accessible within the unit tests, such that fewer tests break when changing the value
2fc425f
to
8cff2c4
Compare
And also coverage for nested::fast_reduce
On older GNU compilers, we have the following two tests fail
This value is the size of the call history. One should note, that it is 41 in the "switch to Nested Sweeping" unit test after. So, older compilers have some hiccup with the size computation. |
The issue is probably due to some shenanigans with float-versus-double or converting size_t to double including some rounding up. Either way, it may introduce undefined behaviour or be interpreted multiple ways. This leads GCC 10 to unexpectedly abort repeated transposition.
9e7c2df
to
34b13fc
Compare
As requested by GCC 10
🟡 Regression Test (Picotrav 'adder')'origin/internal/nested_sweeping/exec_policy-settings' is a change in performance of -0.58% (stdev: 1.06%).
Number of samples: 5 |
🔴 Regression Test (QBF 'breakthrough/3x5_11_bwnib')'origin/internal/nested_sweeping/exec_policy-settings' is a change in performance of -1.52% (stdev: 1.49%).
Number of samples: 5 |
🟡 Regression Test (Picotrav 'arbiter')'origin/internal/nested_sweeping/exec_policy-settings' is a change in performance of -0.16% (stdev: 0.91%).
Number of samples: 4 |
🟡 Regression Test (QBF 'breakthrough/3x4_19_bwnib')'origin/internal/nested_sweeping/exec_policy-settings' is a change in performance of -0.16% (stdev: 0.63%).
Number of samples: 5 |
🔴 Regression Test (QBF 'ep/8x8_7_e-8-1_p-3-4_bwnib')'origin/internal/nested_sweeping/exec_policy-settings' is a change in performance of -164.19% (stdev: 3.68%).
Number of samples: 5 |
🟢 Regression Test (QBF 'domineering/5x5_13_bwnib')'origin/internal/nested_sweeping/exec_policy-settings' is a change in performance of 4.46% (stdev: 4.65%).
Number of samples: 5 |
🟡 Regression Test (Picotrav 'mem_ctrl')'origin/internal/nested_sweeping/exec_policy-settings' is a change in performance of -0.33% (stdev: 0.73%).
Number of samples: 4 |
A decrease in performance is to-be expected. We'll re-evaluate these values in a separate pull request. |
Moves heuristic values from Nested Sweeping and Quantification into
exec_policy
(closes #596 ) while also integrating the fast reduce epsilon into the Inner Reduce Sweep. We are now almost ready to go searching for a reasonable default value.