summaryrefslogtreecommitdiff
path: root/src/options/smt_options.toml
diff options
context:
space:
mode:
authorGereon Kremer <gereon.kremer@cs.rwth-aachen.de>2021-04-12 22:58:14 +0200
committerGitHub <noreply@github.com>2021-04-12 20:58:14 +0000
commitaf398235ef9f3a909991fddbb71d43434d6cf3a1 (patch)
tree8ae4533255a4bf63c808824f67552b588c301649 /src/options/smt_options.toml
parentc422f03d3169d4dc8d5b333de12be14e9121bc93 (diff)
Refactor resource manager (#6322)
This PR does another round of refactoring of the resource manager and related code. - it moves the Resource enum out of the ResourceManager class - it treats the resources in a generic way (storing the statistics in a vector) instead of the manual treatment we had before - weights no longer live in the options, but in the ResourceManager and are changed accordingly in the ResourceManager constructor - following the generic treatment of resources, it also removes all the resource-specific options --x-step in favor of a generic --rweight name=weight - removed several unused methods from the ResourceManager Note that we handle the Resource enum in a way that allows to easily use other enums as additional resources, for example InferenceId. The general idea is that we will at some point have sensible default weights (so that the cumulative resources somewhat simulate the solver runtime) and users (almost) never need to modify them.
Diffstat (limited to 'src/options/smt_options.toml')
-rw-r--r--src/options/smt_options.toml183
1 files changed, 17 insertions, 166 deletions
diff --git a/src/options/smt_options.toml b/src/options/smt_options.toml
index 2d678ec2b..c8a1a8fb4 100644
--- a/src/options/smt_options.toml
+++ b/src/options/smt_options.toml
@@ -466,176 +466,27 @@ header = "options/smt_options.h"
read_only = true
help = "enable resource limiting per query"
-[[option]]
- name = "arithPivotStep"
- category = "expert"
- long = "arith-pivot-step=N"
- type = "unsigned"
- default = "1"
- read_only = true
- help = "amount of resources spent for each arithmetic pivot step"
-
-[[option]]
- name = "arithNlLemmaStep"
- category = "expert"
- long = "arith-nl-lemma-step=N"
- type = "unsigned"
- default = "1"
- read_only = true
- help = "amount of resources spent for each arithmetic nonlinear lemma step"
-
-[[option]]
- name = "rewriteStep"
- category = "expert"
- long = "rewrite-step=N"
- type = "unsigned"
- default = "1"
- read_only = true
- help = "amount of resources spent for each rewrite step"
-
-[[option]]
- name = "theoryCheckStep"
- category = "expert"
- long = "theory-check-step=N"
- type = "unsigned"
- default = "1"
- read_only = true
- help = "amount of resources spent for each theory check call"
-
-[[option]]
- name = "decisionStep"
- category = "expert"
- long = "decision-step=N"
- type = "unsigned"
- default = "1"
- read_only = true
- help = "amount of getNext decision calls in the decision engine"
-
-[[option]]
- name = "bitblastStep"
- category = "expert"
- long = "bitblast-step=N"
- type = "unsigned"
- default = "1"
- read_only = true
- help = "amount of resources spent for each bitblast step"
-
-[[option]]
- name = "bvPropagationStep"
- category = "expert"
- long = "bv-propagation-step=N"
- type = "unsigned"
- default = "1"
- read_only = true
- help = "amount of resources spent for each BV propagation step"
-
-[[option]]
- name = "bvEagerAssertStep"
- category = "expert"
- long = "bv-eager-assert-step=N"
- type = "unsigned"
- default = "1"
- read_only = true
- help = "amount of resources spent for each eager BV assert step"
-
-[[option]]
- name = "parseStep"
- category = "expert"
- long = "parse-step=N"
- type = "unsigned"
- default = "1"
- read_only = true
- help = "amount of resources spent for each command/expression parsing"
-
-[[option]]
- name = "lemmaStep"
+# --rweight is used to override the default of one particular resource weight.
+# It can be given multiple times to override multiple weights. When options are
+# parsed, the resource manager might now be created yet, and it is not clear
+# how an option handler would access it in a reasonable way. The option handler
+# thus merely puts the data in another option that holds a vector of strings.
+# This other option "resourceWeightHolder" has the sole purpose of storing
+# this data in a way so that the resource manager can access it in its
+# constructor.
+[[option]]
+ smt_name = "resourceWeight"
category = "expert"
- long = "lemma-step=N"
- type = "unsigned"
- default = "1"
- read_only = true
- help = "amount of resources spent when adding lemmas"
-
-[[option]]
- name = "newSkolemStep"
- category = "expert"
- long = "new-skolem-step=N"
- type = "unsigned"
- default = "1"
- read_only = true
- help = "amount of resources spent when adding new skolems"
-
-[[option]]
- name = "restartStep"
- category = "expert"
- long = "restart-step=N"
- type = "unsigned"
- default = "1"
- read_only = true
- help = "amount of resources spent for each theory restart"
-
-[[option]]
- name = "cnfStep"
- category = "expert"
- long = "cnf-step=N"
- type = "unsigned"
- default = "1"
- read_only = true
- help = "amount of resources spent for each call to cnf conversion"
-
-[[option]]
- name = "preprocessStep"
- category = "expert"
- long = "preprocess-step=N"
- type = "unsigned"
- default = "1"
- read_only = true
- help = "amount of resources spent for each preprocessing step in SmtEngine"
-
-[[option]]
- name = "quantifierStep"
- category = "expert"
- long = "quantifier-step=N"
- type = "unsigned"
- default = "1"
- read_only = true
- help = "amount of resources spent for quantifier instantiations"
-
-[[option]]
- name = "satConflictStep"
- category = "expert"
- long = "sat-conflict-step=N"
- type = "unsigned"
- default = "1"
- read_only = true
- help = "amount of resources spent for each sat conflict (main sat solver)"
-
-[[option]]
- name = "bvSatConflictStep"
- category = "expert"
- long = "bv-sat-conflict-step=N"
- type = "unsigned"
- default = "1"
- read_only = true
- help = "amount of resources spent for each sat conflict (bitvectors)"
-
-[[option]]
- name = "bvSatPropagateStep"
- category = "expert"
- long = "bv-sat-propagate-step=N"
- type = "unsigned"
- default = "1"
+ long = "rweight=VAL=N"
+ type = "std::string"
+ handler = "setResourceWeight"
read_only = true
- help = "amount of resources spent for each sat propagate (bitvectors)"
+ help = "set a single resource weight"
[[option]]
- name = "bvSatSimplifyStep"
- category = "expert"
- long = "bv-sat-simplify-step=N"
- type = "unsigned"
- default = "1"
- read_only = true
- help = "amount of resources spent for each sat simplify (bitvectors)"
+ name = "resourceWeightHolder"
+ category = "undocumented"
+ type = "std::vector<std::string>"
[[option]]
name = "forceNoLimitCpuWhileDump"
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback