Skip to content

Commit 612280e

Browse files
Add files via upload
1 parent 1928927 commit 612280e

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

src/main/scala/sharedDefs.scala

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -282,12 +282,15 @@ package object sharedDefs {
282282

283283
/** n != 1 for parallel portfolio solving with competing solver instances (specified number of threads not guaranteed)
284284
* Keep in mind that the machine might decrease maximum core frequencies with more cores being utilized.
285-
* -x sets number of solver threads in dependency of number of cores, problem size and other factors. For small
286-
* problems with number of positive literals (ri.e., in case of SAT: #variables) smaller -x (with x < 0), only a single solver thread is launched.
285+
* -x sets number of solver threads in dependency of number of cores, problem size and other factors, with an upper limit of upperLimitAutoSolverThreads.
286+
* For small problems with number of positive literals (i.e., in case of SAT: #variables) smaller -x (with x < 0), only a single solver thread is launched.
287287
* NB: diff-SAT also spawns some parallelism from within individual solver threads, so normally no all cores should be occupied by solvers.
288288
* Commandline: --solverarg maxSolverThreadsR n */
289289
var maxSolverThreadsR: Int = -1
290290

291+
/** Upper limit for automatically determined number of solver threads if maxSolverThreadsR < 0 */
292+
var upperLimitAutoSolverThreads: Int = 999999999
293+
291294
/** If not empty, only the specified threads will be executed. All other threads will be ignored.
292295
* E.g., if a total of 6 threads are specified using maxSolverThreadsR and threadSelect = Seq(2,3),
293296
* only threads $2 and $3 are actually started, whereas $1 and $4 are omitted.
@@ -715,8 +718,8 @@ package object sharedDefs {
715718
/** See source code */
716719
var maxApproachSwitchesPerSolverThread: Int = Int.MaxValue // maximum number of switches per solver thread if slowThreadAction = 3
717720

718-
/** See source code */
719-
var enforceProgressChecksEveryTrialsR: Int = if (abandonOrSwitchSlowThreads != 0d) 200000 else (if (debug) 200000 else 300000) // report regular solving progress _at least_ every x solver trials
721+
/** Report regular solving progress at least every x solver trials. Must be a power of 2. */
722+
var enforceProgressChecksEveryTrialsR: Int = if (abandonOrSwitchSlowThreads != 0d) 65536 else (if (debug) 65536 else /*131072*/65536 * 4)
720723

721724
//val progressReportImprovThresh = if (diffSAT.debug) 100 else 100 // report progress also if reduction of unassigned literals is at least this threshold
722725

0 commit comments

Comments
 (0)