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

Exec policy/remove fast reduce #642

Merged
merged 7 commits into from
Mar 13, 2024
Merged

Conversation

SSoelvsten
Copy link
Owner

  • As mentioned at the end of Fix 'fast reduce' variable incorrectly is set to 0 as its default #640 , experiments seem to indicate this optimisation is not really relevant for quantification. Hence, exec_policy::nested::fast_reduce has been removed and the optimisation is triggered at compile-time instead.
  • Since it will now probably only be used for static variable reordering, the __reduce_level__fast has been simplified such that it is faster.
  • Furthermore, this also fixes the issue, that the __reduce_level__fast algorithm turns the Reduce priority queue into a 2-level cut. So, the 3/2 bound has been applied.

Experiments seem to indicate this optimisation does not positively impact the
Quantify algorithm(s). Hence, we move it into a compile-time flag for later
use with variable reordering
If '__reduce_level__fast' is only to-be used with variable reordering where we
can guarantee all intermediate results are reduced, then there is no need to
have this extra if-statement here.
@SSoelvsten SSoelvsten added 🔥 bug Something isn't working ✨ optimisation It's all about speed / space labels Mar 13, 2024
@SSoelvsten SSoelvsten added this to the v2.2 : Variable Reordering milestone Mar 13, 2024
@SSoelvsten SSoelvsten self-assigned this Mar 13, 2024
For the same reason as the duplicate node merging, there is no need to waste
CPU cycles on trying to reduce the BDD, if it is only supposed to be used in
a context, where it is reduced.
@SSoelvsten SSoelvsten force-pushed the exec_policy/remove-fast_reduce branch from 38a0537 to 6468467 Compare March 13, 2024 14:11
Copy link

codecov bot commented Mar 13, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 97.315%. Comparing base (5ac21d0) to head (6468467).
Report is 3 commits behind head on main.

Additional details and impacted files
@@              Coverage Diff              @@
##              main      #642       +/-   ##
=============================================
+ Coverage   97.306%   97.315%   +0.008%     
=============================================
  Files           90        90               
  Lines         6534      6480       -54     
=============================================
- Hits          6358      6306       -52     
+ Misses         176       174        -2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link

🟢 Regression Test (12-Queens)

'origin/exec_policy/remove-fast_reduce' is a change in performance of 0.15% (stdev: 0.75%).

... origin/main origin/exec_policy/remove-fast_reduce
Mean 11446.50 11429.75
Standard Deviation 83.59 86.07

Number of samples: 4

Copy link

🟡 Regression Test (QBF 'breakthrough/3x4_19_bwnib')

'origin/exec_policy/remove-fast_reduce' is a change in performance of -1.27% (stdev: 2.00%).

... origin/main origin/exec_policy/remove-fast_reduce
Mean 24510.00 24822.33
Standard Deviation 167.20 497.55

Number of samples: 3

Copy link

🟡 Regression Test (Picotrav 'arbiter')

'origin/exec_policy/remove-fast_reduce' is a change in performance of -0.56% (stdev: 1.21%).

... origin/main origin/exec_policy/remove-fast_reduce
Mean 63140.67 63495.33
Standard Deviation 763.93 469.90

Number of samples: 3

Copy link

🟢 Regression Test (QBF 'connect4/4x4_9_connect3_bwnib')

'origin/exec_policy/remove-fast_reduce' is a change in performance of 0.23% (stdev: 2.73%).

... origin/main origin/exec_policy/remove-fast_reduce
Mean 1180.50 1177.75
Standard Deviation 32.19 22.87

Number of samples: 4

Copy link

🟡 Regression Test (Picotrav 'mem_ctrl')

'origin/exec_policy/remove-fast_reduce' is a change in performance of -0.88% (stdev: 1.01%).

... origin/main origin/exec_policy/remove-fast_reduce
Mean 113707.00 114713.00
Standard Deviation 918.74 1162.00

Number of samples: 3

Copy link

🟡 Regression Test (14-Queens)

'origin/exec_policy/remove-fast_reduce' is a change in performance of -1.30% (stdev: 2.27%).

... origin/main origin/exec_policy/remove-fast_reduce
Mean 268429.33 271905.67
Standard Deviation 690.88 6183.61

Number of samples: 3

Copy link

🟢 Regression Test (Picotrav 'adder')

'origin/exec_policy/remove-fast_reduce' is a change in performance of 0.24% (stdev: 9.49%).

... origin/main origin/exec_policy/remove-fast_reduce
Mean 9612.80 9589.60
Standard Deviation 912.34 896.32

Number of samples: 10

@SSoelvsten SSoelvsten merged commit e15ede3 into main Mar 13, 2024
48 of 57 checks passed
@SSoelvsten SSoelvsten deleted the exec_policy/remove-fast_reduce branch March 13, 2024 16:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🔥 bug Something isn't working ✨ optimisation It's all about speed / space
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant